def test_referal_subscribe_in_reactivation_case(subscriber, morning_content): StartCommandService(892342789, f"/start")() subscriber = Subscriber.objects.last() subscriber.is_active = False subscriber.save() StartCommandService(892342789, f"/start", additional_info=str(subscriber.id))() assert subscriber.referer is None
def test_start_message_with_referal_service(morning_content, subscriber): StartCommandService(32984, f"/start", additional_info=str(subscriber.id))() StartCommandService(98348, f"/start", additional_info=str(subscriber.id))() StartCommandService(93854, f"/start", additional_info=str(subscriber.id))() got = get_referals_count(subscriber) assert got == 3
def test_registration_after_deleting(morning_content): StartCommandService(32984, "/start")() Subscriber.objects.all().delete() answers = StartCommandService(32984, "/start")() assert Subscriber.objects.last().tg_chat_id == 32984 assert answers[0].text == AdminMessage.objects.first().text assert answers[1].text == morning_content.content_for_day() assert len(answers) == 2 + len(get_admins_list())
def test_referers_count_after_deactivate_referer(morning_content, subscriber): StartCommandService(32984, f"/start", additional_info=str(subscriber.id))() Subscriber.objects.filter(tg_chat_id=32984).update(is_active=False) got = get_referals_count(subscriber) assert got == 0
def test_referer(subscriber, referer_message_answer, message_answer, morning_content): answers = StartCommandService(892342789, f"/start", additional_info=str(subscriber.id))() assert Subscriber.objects.get(tg_chat_id=892342789).referer == subscriber assert answers[0].text == "По вашей реферальной ссылке произошла регистрация" assert answers[1].text == AdminMessage.objects.first().text assert answers[2].text == morning_content.content_for_day() assert answers[3].text == "Зарегестрировался новый пользователь."
def test_invalid_referal_link(referer_message_answer, message_answer, morning_content): StartCommandService(892342789, f"/start", additional_info="ijoajfe")() assert Subscriber.objects.count() == 1 assert Subscriber.objects.first().referer is None
def test_fake_referer(morning_content): answers = StartCommandService(892342789, f"/start", additional_info="7584")() assert Subscriber.objects.count() == 1 assert Subscriber.objects.first().referer is None
def test_active_user_start_command(subscriber): answers = StartCommandService(subscriber.tg_chat_id, "/start")() assert answers[0].text == "Вы уже зарегистрированы" assert len(answers) == 1
def test_start_message_with_referal_service(morning_content, subscriber): StartCommandService(32984, f"/start", additional_info=str(subscriber.id))() assert Subscriber.objects.last().tg_chat_id == 32984 assert Subscriber.objects.last().referer.id == subscriber.id
def test_start_message_without_referal_service(morning_content): answers = StartCommandService(32984, "/start")() assert Subscriber.objects.last().tg_chat_id == 32984 assert answers[0].text == AdminMessage.objects.first().text assert answers[1].text == morning_content.content_for_day()