Как создать тест для формы UserProfile в django - PullRequest
0 голосов
/ 23 сентября 2019

Я новичок в Django и не уверен, что делаю неправильно.Я пытаюсь запустить тесты для своей формы "UserProfileForm", и тест все время не проходит, и я не знаю почему.Может кто-нибудь помочь?

это мой forms.py

from .models import UserProfile
from dobwidget import DateOfBirthWidget


class UserProfileForm(forms.ModelForm):

    class Meta:
        model = UserProfile
        fields = [
            'profile_img',
            'subscribe',
            'bio',
            'dob',
            'telephone',
            'contact_by_phone',
            'contact_by_email'
            ]
        widgets = {
            'dob': DateOfBirthWidget(),
        }

это мой models.py

from django.contrib.auth.models import User



class UserProfile(models.Model):


    user = models.OneToOneField(User, on_delete=models.CASCADE)

    profile_img = models.ImageField(upload_to='images', default="images/default_profile.png")
    subscribe = models.BooleanField(blank=True, default=False)
    bio = models.TextField(blank=True)
    dob = models.DateField(max_length=8, null=True, blank=True)
    telephone = models.CharField(max_length=20, null=True, blank=True)
    contact_by_phone = models.BooleanField(blank=True, default=False)
    contact_by_email = models.BooleanField(blank=True, default=False)


    def __str__(self):
        return self.user.username 

И это тест, который я пытаюсьбежать

from django.test import TestCase
from .forms import UserProfileForm



class TestUserProfileForm(TestCase):


    def test_can_create_a_profile(self):
        valid_data = {
            'profile_img':"images/perfil.jpg", 
            'subscribe':False, 
            'bio':'asdjklsad asdkj;s', 
            'dob':'2019-03-03',
            'telephone' : '12324',
            'contact_by_phone' : True,
            'contact_by_email' : True,
        }
        form = UserProfileForm(data=valid_data)
        self.assertTrue(form.is_valid())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...