def test_patch_journal_issues_calls_add_issue_to_journal(self): self.request.matchdict["journal_id"] = "1678-4596-cr" self.request.validated = {"issue": "1678-4596-cr-25-3"} MockAddIssueToJournal = Mock() self.request.services["add_issue_to_journal"] = MockAddIssueToJournal restfulapi.patch_journal_issues(self.request) MockAddIssueToJournal.assert_called_once_with( id="1678-4596-cr", issue="1678-4596-cr-25-3")
def test_patch_journal_issues_calls_insert_issue_to_journal_if_index_informed( self): self.request.matchdict["journal_id"] = "1678-4596-cr" self.request.validated = {"issue": "1678-4596-cr-25-3", "index": 0} MockAddIssueToJournal = Mock() MockInsertIssueToJournal = Mock() self.request.services["add_issue_to_journal"] = MockAddIssueToJournal self.request.services[ "insert_issue_to_journal"] = MockInsertIssueToJournal restfulapi.patch_journal_issues(self.request) MockInsertIssueToJournal.assert_called_once_with( id="1678-4596-cr", index=0, issue="1678-4596-cr-25-3") MockAddIssueToJournal.assert_not_called()
def test_patch_journal_issues_returns_204_if_ok(self): self.request.matchdict["journal_id"] = "1678-4596-cr" commands_data = ( ("add_issue_to_journal", { "issue": "1678-4596-cr-25-3" }), ("insert_issue_to_journal", { "issue": "1678-4596-cr-25-3", "index": 2 }), ) for command, data in commands_data: with self.subTest(command=command, data=data): self.request.validated = data MockPatchJournal = Mock() self.request.services[command] = MockPatchJournal response = restfulapi.patch_journal_issues(self.request) self.assertIsInstance(response, HTTPNoContent)
def test_patch_journal_issues_returns_404_if_no_journal_found(self): self.request.matchdict["journal_id"] = "1678-4596-cr" commands_data = ( ("add_issue_to_journal", { "issue": "1678-4596-cr-25-3" }), ("insert_issue_to_journal", { "issue": "1678-4596-cr-25-3", "index": 2 }), ) for command, data in commands_data: with self.subTest(command=command, data=data): self.request.validated = data MockPatchJournal = Mock( side_effect=exceptions.DoesNotExist("Does Not Exist")) self.request.services[command] = MockPatchJournal response = restfulapi.patch_journal_issues(self.request) self.assertIsInstance(response, HTTPNotFound)