From e0541b7316e783851bdd7038137b712ae2293c10 Mon Sep 17 00:00:00 2001 From: Dmitriy Shesterkin Date: Wed, 28 Jun 2017 10:24:15 +0300 Subject: [PATCH] description for function, fix day for sending email for proposal with bonus --- src/customer/tasks.py | 14 ++++++++++++-- src/tests/test_tasks.py | 17 ++++++++++++++++- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/customer/tasks.py b/src/customer/tasks.py index 7534489..aa426f3 100644 --- a/src/customer/tasks.py +++ b/src/customer/tasks.py @@ -42,6 +42,11 @@ def check_license(): @shared_task def delete_not_activated_users(): + """ + Delete not activated users in 5 days after sending + the application for registration + :return: None + """ today = timezone.now().date() date_join = today - timezone.timedelta(days=5) users = DokUser.objects.filter(profile__active=False, profile__confirmed=False).\ @@ -59,10 +64,15 @@ def delete_not_activated_users(): @shared_task def send_offer_for_get_bonus(): + """ + Sending a proposal with a bonus to new users without the purchased license + on the 9th day after registration + :return: list of users(for testing) + """ user_list = [] today = timezone.now().date() - date_join_start = today - timezone.timedelta(days=5) - date_join_end = today - timezone.timedelta(days=4) + date_join_start = today - timezone.timedelta(days=9) + date_join_end = today - timezone.timedelta(days=8) users = DokUser.objects.filter(profile__active=True, profile__confirmed=True).\ filter(date_joined__gt=date_join_start, date_joined__lt=date_join_end) diff --git a/src/tests/test_tasks.py b/src/tests/test_tasks.py index 6fb5417..00d8e02 100644 --- a/src/tests/test_tasks.py +++ b/src/tests/test_tasks.py @@ -23,7 +23,12 @@ dates_lt_five = [timezone.now() - timezone.timedelta(days=5), timezone.now() - timezone.timedelta(days=1), timezone.now() - timezone.timedelta(days=0)] -dates_bonus = [timezone.now() - timezone.timedelta(days=5)] +dates_bonus = [timezone.now() - timezone.timedelta(days=9)] + +dates_not_bonus = [timezone.now() - timezone.timedelta(days=1), + timezone.now() - timezone.timedelta(days=8), + timezone.now() - timezone.timedelta(days=10), + timezone.now() - timezone.timedelta(days=32)] @freeze_time("2017-06-28 00:21:34", tz_offset=2) @@ -73,3 +78,13 @@ def test_send_offer_for_get_bonus(user, create_date): user.save() users = send_offer_for_get_bonus() assert users == [user] + + +@freeze_time("2017-06-28 00:21:34", tz_offset=2) +@pytest.mark.parametrize('create_date', dates_not_bonus) +@pytest.mark.django_db +def test_send_offer_for_get_bonus_not_range_dates(user, create_date): + user.date_joined = create_date + user.save() + users = send_offer_for_get_bonus() + assert users == []