Юнит тест Django для возврата абсолютного URL в моделях - PullRequest
0 голосов
/ 01 октября 2018

Ниже представлен models.py

class Unit(models.Model):
    name = models.CharField(max_length=200)
    start = models.DateTimeField()
    end = models.DateTimeField()
    description = models.TextField()
    deleted = models.BooleanField(default=False)

    def clean(self):
        if self.end and self.start and self.end <= self.start:
            raise ValidationError({
                'end': _('End date should be after start date')
            })

    def get_absolute_url(self):
        return reverse('decentmark:unit_view', kwargs={'unit_id': self.pk})

Я написал несколько тестов для проверки даты и т. Д. Нужна помощь в написании теста для get_aubsolute_url

1 Ответ

0 голосов
/ 01 января 2019

вам нужно будет создать новый объект и попытаться посетить его. Если все пойдет хорошо, он вернет вам код ответа 200, если нет, вернет вам 404

class UnitTest(TestCase):
    def create_unit(self): # create_an_object_to_test_later
        name = 'just_test'
        start = '01-01-2018'
        end = '01-01-2019'
        description = 'demo_text'
        return Unit.objects.create(name=name, start =start , end =end,description =description)

    def test_url(self):
        w = self.create_unit()
        response = self.client.post(reverse('unit_view', args=[w.pk,])) #set unit_view to the url name in the urls.py
        self.assertEqual(response.status_code, 200)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...