# -*- coding: utf-8 -*- import pytest from django.utils import timezone from myauth.models import DokUser, ConfirmEmail from customer.models import UserProfile from customer.tasks import delete_not_activated_users, send_offer_for_get_bonus dates_gte_five = [timezone.now() - timezone.timedelta(days=100), timezone.now() - timezone.timedelta(days=15), timezone.now() - timezone.timedelta(days=6)] dates_lt_five = [timezone.now() - timezone.timedelta(days=5), timezone.now() - timezone.timedelta(days=4), timezone.now() - timezone.timedelta(days=3), timezone.now() - timezone.timedelta(days=2), timezone.now() - timezone.timedelta(days=1), timezone.now() - timezone.timedelta(days=0)] @pytest.mark.parametrize('create_date', dates_gte_five) @pytest.mark.django_db def test_delete_not_activated_users_great_five_days(user, create_date): user.is_active = False user.date_joined = create_date profile = user.profile profile.active = False profile.confirmed = False profile.save() user.save() ConfirmEmail.objects.get_or_create(user=user) delete_not_activated_users() assert DokUser.objects.count() == 0 assert UserProfile.objects.count() == 0 assert ConfirmEmail.objects.count() == 0 @pytest.mark.parametrize('create_date', dates_lt_five) @pytest.mark.django_db def test_delete_not_activated_users_less_five_day(user, create_date): user.is_active = False user.date_joined = create_date profile = user.profile profile.active = False profile.confirmed = False profile.save() user.save() ConfirmEmail.objects.get_or_create(user=user) delete_not_activated_users() assert DokUser.objects.count() == 1 assert UserProfile.objects.count() == 1 assert ConfirmEmail.objects.count() == 1 @pytest.mark.django_db def test_send_offer_for_get_bonus(user): send_offer_for_get_bonus() print(user) pass