Imrpvoe the case links
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user