Fix (probably) reversion for trainingitemqualification

This commit is contained in:
2022-01-24 22:32:12 +00:00
parent f243a589fa
commit 308d0c697e
7 changed files with 58 additions and 20 deletions

View File

@@ -4,9 +4,10 @@ import pytest
from django.utils import timezone
from django.urls import reverse
from pytest_django.asserts import assertFormError, assertRedirects, assertContains, assertNotContains
from pytest_django.asserts import assertFormError, assertRedirects, assertContains, assertNotContains, assertURLEqual
from training import models
from reversion.models import Version, Revision
def test_add_qualification(admin_client, trainee, admin_user):
@@ -19,6 +20,22 @@ def test_add_qualification(admin_client, trainee, admin_user):
assertFormError(response, 'form', 'supervisor', 'Selected supervisor must actually *be* a supervisor...')
def test_add_qualification_reversion(admin_client, trainee, training_item, supervisor):
url = reverse('add_qualification', kwargs={'pk': trainee.pk})
date = (timezone.now() + datetime.timedelta(days=-3)).strftime("%Y-%m-%d")
response = admin_client.post(url, {'date': date, 'supervisor': supervisor.pk, 'trainee': trainee.pk, 'item': training_item.pk, 'depth': 0, 'notes': ""})
print(response.content)
assert response.status_code == 302
qual = models.TrainingItemQualification.objects.last()
assert qual is not None
assert training_item.pk == qual.pk
# Ensure only one revision has been created
assert Revision.objects.count() == 1
response = admin_client.post(url, {'date': date, 'supervisor': supervisor.pk, 'trainee': trainee.pk, 'item': training_item.pk, 'depth': 1})
assert Revision.objects.count() == 2
assert Version.objects.count() == 4 # Two item qualifications and the trainee twice
def test_add_requirement(admin_client, level):
url = reverse('add_requirement', kwargs={'pk': level.pk})
response = admin_client.post(url)