Imrpvoe the case links

This commit is contained in:
Ross
2026-06-12 22:55:50 +01:00
parent 96d5fa4a2e
commit aaee3577ad
4 changed files with 260 additions and 13 deletions
+55
View File
@@ -131,3 +131,58 @@ def test_case_prior_and_future_relation_post(client, make_case):
)
assert response_remove.status_code == 200
assert not CasePrior.objects.filter(casedetail=casedetail, prior_case=case3).exists()
@pytest.mark.django_db
def test_linked_cases_reordering(client, make_case):
# Setup user
user = get_user_model().objects.create_user(
username="author_user_reorder", password="password", email="author_reorder@test.com"
)
case1 = make_case(title="Case A")
case2 = make_case(title="Case B")
case3 = make_case(title="Case C")
# Author permissions
case1.author.add(user)
case2.author.add(user)
case3.author.add(user)
# Initial order: case1 -> case2 -> case3
case2.previous_case = case1
case2.save(update_fields=["previous_case"])
case3.previous_case = case2
case3.save(update_fields=["previous_case"])
client.force_login(user)
url = reverse("atlas:linked_cases_overview", kwargs={"case_id": case2.pk})
# Verify GET works and shows reorder editor when requested
response_get = client.get(url + "?show_reorder=1")
assert response_get.status_code == 200
assert "Reorder Cases" in response_get.content.decode("utf-8")
# Post new order: case3 -> case1 -> case2
response_post = client.post(
url,
data={
"form_action": "reorder_cases",
"case_order_0": case3.pk,
"case_order_1": case1.pk,
"case_order_2": case2.pk,
},
follow=True,
)
assert response_post.status_code == 200
# Refresh cases from database
case1.refresh_from_db()
case2.refresh_from_db()
case3.refresh_from_db()
# Verify new order in DB: case3 -> case1 -> case2
assert case3.previous_case is None
assert case1.previous_case == case3
assert case2.previous_case == case1