def _lead_form(request, *args, **kwargs): if request.method == 'GET': form = UserSignupForm() return render(request, 'core/lead_form_errors.html', context={'form': form}) source = request.GET.get('utm_source', default='unknown') first_name = request.POST.get('first_name') email = request.POST.get('email') tags = [kwargs.get('offer_tag', 'offer-funnel-0')] for key, value in request.GET.items(): if key.startswith('utm_'): tags.append(f"{key}={value}") try: user = user_facade.register_lead(first_name, email, source, tags=tags) except user_facade.UserCreationException as e: return render(request, 'core/lead_form_errors.html', context={'form': e.form}, status=400) login(request, user) if kwargs.get('redirect_to_OTO') is False: return redirect(reverse('core:thanks')) return redirect(reverse('checkout:webdev_landing_page_oto'))
def _lead_form(request, redirect_to_OTO=True, *args, **kwargs): if request.method == 'GET': form = UserSignupForm() return render(request, 'core/lead_form_errors.html', context={'form': form}) source = request.GET.get('utm_source', default='unknown') first_name = request.POST.get('first_name') email = request.POST.get('email') try: user = user_facade.register_lead(first_name, email, source) except user_facade.UserCreationException as e: return render(request, 'core/lead_form_errors.html', context={'form': e.form}, status=400) login(request, user) if redirect_to_OTO: return redirect(reverse('payments:client_landing_page_oto')) else: return redirect(reverse('core:thanks'))
def test_creation(db, django_user_model, create_or_update_lead_mock): user = user_facade.register_lead('Renzo Nuccitelli', '*****@*****.**', 'google_ads') calls = [ call(user.first_name, user.email), call(user.first_name, user.email, id=user.id) ] create_or_update_lead_mock.assert_has_calls(calls) assert django_user_model.objects.all().get() == user
def test_creation(db, django_user_model, create_or_update_lead_mock, sync_user_delay): user = user_facade.register_lead('Renzo Nuccitelli', '*****@*****.**', 'google_ads') create_or_update_lead_mock.assert_called_once_with(user.first_name, user.email, id=user.id) assert not sync_user_delay.called assert django_user_model.objects.all().get() == user
def lead_form(request): if request.method == 'GET': form = UserSignupForm() return render(request, 'core/lead_form_errors.html', context={'form': form}) source = request.GET.get('utm_source', default='unknown') first_name = request.POST.get('first_name') email = request.POST.get('email') try: user = user_facade.register_lead(first_name, email, source) except user_facade.UserCreationException as e: return render(request, 'core/lead_form_errors.html', context={'form': e.form}) login(request, user) return redirect(reverse('core:lead_change_password'))
def test_should_create_lead_with_extra_tags(db, django_user_model, create_or_update_lead_mock, sync_user_delay): user = user_facade.register_lead('Renzo Nuccitelli', '*****@*****.**', 'google_ads', tags=['tag-1', 'tag-2']) calls = [ call(user.first_name, user.email, 'tag-1', 'tag-2'), call(user.first_name, user.email, 'tag-1', 'tag-2', id=user.id) ] create_or_update_lead_mock.assert_has_calls(calls) sync_user_delay.assert_called_once_with(user.id) assert django_user_model.objects.all().get() == user
def test_creation(db, django_user_model, create_or_update_lead_mock): user = user_facade.register_lead('Renzo Nuccitelli', '*****@*****.**', 'google_ads') create_or_update_lead_mock.assert_called_once_with('Renzo Nuccitelli', '*****@*****.**') assert django_user_model.objects.all().get() == user