def test_recreate_token(self):
        user = User.objects.create(username="******")
        up = UserProfile.objects.get(user=user)
        data = {
            "email": "*****@*****.**",
            "preferred_vendor": 1
        }
        # get or create the API authentication token
        token = Token.objects.create(user=user)
        org_key = token.key

        form = UserProfileForm(instance=up, user=user, data=data)
        assert form.is_valid() is True
        form.save()

        token = Token.objects.get(user=user)
        assert token.key == org_key  # key is not changed

        # post with regenerate_api_auth_token parameter
        data.update({
            "regenerate_api_auth_token": "True"
        })
        form = UserProfileForm(instance=up, user=user, data=data)
        assert form.is_valid() is True
        form.save()

        token = Token.objects.get(user=user)
        assert token.key != org_key  # key was changed
Example #2
0
    def test_form_with_instance(self):
        user = mixer.blend("auth.User")
        data = {"email": user.email, "preferred_vendor": 1}
        form = UserProfileForm(user, data=data, instance=user.profile)

        assert form.is_valid() is True
        assert form.cleaned_data.get(
            "email") == user.email, "User eMail should be added automatically"
    def test_form_with_instance(self):
        user = mixer.blend("auth.User")
        data = {
            "email": user.email,
            "preferred_vendor": 1
        }
        form = UserProfileForm(user, data=data, instance=user.profile)

        assert form.is_valid() is True
        assert form.cleaned_data.get("email") == user.email, "User eMail should be added automatically"
    def test_form_with_instance(self):
        user = User.objects.create(username="******", email="*****@*****.**")
        data = {
            "email": user.email,
            "preferred_vendor": 1
        }
        form = UserProfileForm(user, data=data, instance=user.profile)

        assert form.is_valid() is True, form.errors
        assert form.cleaned_data.get("email") == user.email, "User eMail should be added automatically"
    def test_form(self):
        user = mixer.blend("auth.User")
        form = UserProfileForm(user, data={})
        assert form.fields["email"].initial == user.email, "Should be the email of the current user"
        assert form.is_valid() is False
        assert "email" in form.errors
        assert "preferred_vendor" in form.errors

        data = {
            "email": "something",
            "preferred_vendor": 1
        }
        form = UserProfileForm(user, data=data)
        assert form.is_valid() is False, "Invalid eMail format, form not valid"
        assert "email" in form.errors, "Should contain field error for the email"
        assert "preferred_vendor" not in form.errors

        data = {
            "email": "*****@*****.**",
            "preferred_vendor": 1
        }
        form = UserProfileForm(user, data=data)
        assert form.is_valid() is True, form.errors

        data = {
            "email": "*****@*****.**",
        }
        form = UserProfileForm(user, data=data)
        assert form.is_valid() is False, "Invalid eMail format, form not valid"
        assert "preferred_vendor" in form.errors, "Should contain field error for the preferred_vendor"
Example #6
0
def edit_user_profile(request):
    up, _ = UserProfile.objects.get_or_create(user=request.user)
    back_to = request.GET.get("back_to") if request.GET.get(
        "back_to") else reverse("productdb:home")

    if request.method == "POST":
        form = UserProfileForm(request.user, request.POST, instance=up)

        if form.is_valid():
            form.save()

            request.user.email = form.cleaned_data.get("email")
            request.user.save()

            messages.add_message(request, messages.INFO,
                                 "User Profile successful updated")

            return redirect(back_to)

    else:
        form = UserProfileForm(request.user, instance=up)

    token, _ = Token.objects.get_or_create(user=request.user)

    context = {"form": form, "back_to": back_to, "api_auth_token": token}

    return render(request,
                  "productdb/user_profile/edit-user_profile.html",
                  context=context)
Example #7
0
def edit_user_profile(request):
    up, _ = UserProfile.objects.get_or_create(user=request.user)
    back_to = request.GET.get("back_to") if request.GET.get("back_to") else reverse("productdb:home")

    if request.method == "POST":
        form = UserProfileForm(request.user, request.POST, instance=up)

        if form.is_valid():
            form.save()

            request.user.email = form.cleaned_data.get("email")
            request.user.save()

            messages.add_message(request, messages.INFO, "User Profile successful updated")

            return redirect(back_to)

    else:
        form = UserProfileForm(request.user, instance=up)

    context = {"form": form, "back_to": back_to}

    return render(request, "productdb/user_profile/edit-user_profile.html", context=context)
Example #8
0
    def test_form(self):
        user = mixer.blend("auth.User")
        form = UserProfileForm(user, data={})
        assert form.fields[
            "email"].initial == user.email, "Should be the email of the current user"
        assert form.is_valid() is False
        assert "email" in form.errors
        assert "preferred_vendor" in form.errors

        data = {"email": "something", "preferred_vendor": 1}
        form = UserProfileForm(user, data=data)
        assert form.is_valid() is False, "Invalid eMail format, form not valid"
        assert "email" in form.errors, "Should contain field error for the email"
        assert "preferred_vendor" not in form.errors

        data = {"email": "*****@*****.**", "preferred_vendor": 1}
        form = UserProfileForm(user, data=data)
        assert form.is_valid() is True, form.errors

        data = {
            "email": "*****@*****.**",
        }
        form = UserProfileForm(user, data=data)
        assert form.is_valid() is False, "Invalid eMail format, form not valid"
        assert "preferred_vendor" in form.errors, "Should contain field error for the preferred_vendor"