Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge uat hotfix downstream to dev #1812

Merged
merged 40 commits into from
Feb 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
983a63e
Merge pull request #1596 from uktrade/dev
depsiatwal Sep 14, 2023
d4e3ea9
Merge pull request #1600 from uktrade/dev
saruniitr Sep 15, 2023
2d68cc3
Merge pull request #1608 from uktrade/dev
depsiatwal Sep 20, 2023
06ca725
Merge pull request #1610 from uktrade/dev
kevincarrogan Sep 21, 2023
e9b74d4
Merge pull request #1622 from uktrade/dev
depsiatwal Sep 28, 2023
7bfdac6
Merge pull request #1624 from uktrade/dev
kevincarrogan Oct 2, 2023
9e761e2
Merge pull request #1627 from uktrade/dev
currycoder Oct 4, 2023
326e7b5
Merge pull request #1632 from uktrade/dev
hnryjmes Oct 9, 2023
ab5b911
Merge pull request #1635 from uktrade/dev
Tllew Oct 12, 2023
e34bb51
Merge pull request #1652 from uktrade/dev
currycoder Oct 24, 2023
cb434e0
Merge pull request #1659 from uktrade/dev
kevincarrogan Oct 27, 2023
421bb2e
Merge pull request #1667 from uktrade/dev
currycoder Nov 1, 2023
49f68bc
Merge pull request #1671 from uktrade/dev
depsiatwal Nov 2, 2023
86cc6f9
Merge pull request #1676 from uktrade/dev
depsiatwal Nov 8, 2023
2edaf65
Merge pull request #1680 from uktrade/dev
saruniitr Nov 9, 2023
b86d00e
Merge pull request #1682 from uktrade/dev
currycoder Nov 10, 2023
97ca392
Merge pull request #1696 from uktrade/dev
depsiatwal Nov 15, 2023
12074b9
Merge pull request #1703 from uktrade/dev
depsiatwal Nov 21, 2023
acca013
Merge pull request #1705 from uktrade/dev
kevincarrogan Nov 22, 2023
7230847
Merge pull request #1716 from uktrade/dev
hnryjmes Nov 29, 2023
aec220d
Merge pull request #1718 from uktrade/dev
hnryjmes Dec 4, 2023
8069b77
Merge pull request #1721 from uktrade/dev
currycoder Dec 7, 2023
6afc656
Merge pull request #1726 from uktrade/dev
currycoder Dec 11, 2023
c2d566c
Merge pull request #1731 from uktrade/dev
saruniitr Dec 15, 2023
9f3d58b
Merge pull request #1739 from uktrade/dev
depsiatwal Dec 15, 2023
8085b9c
Merge pull request #1744 from uktrade/dev
kevincarrogan Dec 19, 2023
04e7a00
Merge pull request #1756 from uktrade/dev
kevincarrogan Jan 3, 2024
41d3975
Merge pull request #1760 from uktrade/dev
kevincarrogan Jan 5, 2024
44b901a
Merge pull request #1772 from uktrade/dev
depsiatwal Jan 15, 2024
1b01248
Merge pull request #1778 from uktrade/dev
saruniitr Jan 17, 2024
a34f452
Merge pull request #1785 from uktrade/dev
hnryjmes Jan 22, 2024
7abdcb3
Merge pull request #1791 from uktrade/dev
hnryjmes Jan 26, 2024
2ee6d1c
Merge pull request #1797 from uktrade/dev
saruniitr Jan 31, 2024
e0bedf7
Merge pull request #1801 from uktrade/dev
kevincarrogan Feb 2, 2024
8fbd5be
Merge pull request #1804 from uktrade/dev
hnryjmes Feb 5, 2024
402991e
Update view so govuser cannot close query with blank response
hnryjmes Feb 6, 2024
c4e5eb9
Merge pull request #1810 from uktrade/LTD-4641_hotfix_govuser_cannot_…
hnryjmes Feb 7, 2024
8c3fd70
Resolve merge conflicts
hnryjmes Feb 7, 2024
9b104cb
Merge branch 'dev' into hotfix-dev-govuser-close-query
hnryjmes Feb 7, 2024
99a4ec9
Merge branch 'dev' into hotfix-dev-govuser-close-query
hnryjmes Feb 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 5 additions & 11 deletions api/cases/tests/test_case_ecju_queries.py
Original file line number Diff line number Diff line change
Expand Up @@ -526,7 +526,8 @@ def test_close_query_has_optional_response_exporter(self):
self.assertIsNone(response_ecju_query["response"])
self.assertIsNotNone(response_ecju_query["responded_at"])

def test_close_query_has_optional_response_govuser(self):
@parameterized.expand(["", None])
def test_close_query_has_required_response_govuser(self, response_value):
case = self.create_standard_application_case(self.organisation)
ecju_query = self.create_ecju_query(case, question="provide details please", gov_user=self.gov_user)

Expand All @@ -535,18 +536,11 @@ def test_close_query_has_optional_response_govuser(self):

query_response_url = reverse("cases:case_ecju_query", kwargs={"pk": case.id, "ecju_pk": ecju_query.id})

data = {"response": ""}
data = {"response": response_value}

response = self.client.put(query_response_url, data, **self.gov_headers)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)

response_ecju_query = response.json()["ecju_query"]
self.assertIsNone(response_ecju_query["response"])
self.assertIsNotNone(response_ecju_query["responded_at"])

response_get = self.client.get(query_response_url, **self.gov_headers)
self.assertEqual(True, response_get.json()["ecju_query"]["is_manually_closed"])
self.assertEqual(0, BaseNotification.objects.filter(object_id=ecju_query.id).count())
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
self.assertEqual(response.json()["errors"], "Enter a reason why you are closing the query")

def test_caseworker_manually_closes_query_exporter_responds_raises_error(self):
case = self.create_standard_application_case(self.organisation)
Expand Down
10 changes: 9 additions & 1 deletion api/cases/views/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -617,6 +617,15 @@ def put(self, request, pk, ecju_pk):
status=status.HTTP_400_BAD_REQUEST,
)

is_govuser = hasattr(request.user, "govuser")
is_blank_response = not bool(request.data.get("response"))

# response is required only when a govuser closes a query
if is_govuser and is_blank_response:
return JsonResponse(
data={"errors": "Enter a reason why you are closing the query"}, status=status.HTTP_400_BAD_REQUEST
)

data = {"responded_by_user": str(request.user.pk)}

if request.data.get("response"):
Expand All @@ -631,7 +640,6 @@ def put(self, request, pk, ecju_pk):
ecju_query_type = ContentType.objects.get_for_model(EcjuQuery)
BaseNotification.objects.filter(object_id=ecju_pk, content_type=ecju_query_type).delete()

is_govuser = hasattr(request.user, "govuser")
# If the user is a Govuser query is manually being closed by a caseworker
query_verb = AuditType.ECJU_QUERY_MANUALLY_CLOSED if is_govuser else AuditType.ECJU_QUERY_RESPONSE
audit_trail_service.create(
Expand Down
Loading