def test_update_draft_to_proposed_success(self, **kwargs): credit_trades = [{ 'numberOfCredits': 1, 'status': STATUS_DRAFT, 'initiator': 2, 'respondent': self.fs1_id, 'type': self.ct_type_id }, { 'numberOfCredits': 5, 'status': STATUS_DRAFT, 'initiator': 2, 'respondent': self.fs1_id, 'type': self.ct_type_id }] self.test_create_success() for ct in credit_trades: # Create response = fake_api_calls.create_credit_trade_dict(ct) assert status.HTTP_201_CREATED == response.status_code # Update ct['status'] = STATUS_SUBMITTED updated_response = fake_api_calls.update_credit_trade_dict( ct, response.json()['id']) assert status.HTTP_200_OK == updated_response.status_code
def test_create_draft_or_proposed(self, **kwargs): credit_trades = [{ 'numberOfCredits': 1, 'status': STATUS_DRAFT, 'initiator': 2, 'respondent': self.fs1_id, 'type': self.ct_type_id }, { 'numberOfCredits': 1, 'status': STATUS_SUBMITTED, 'initiator': 2, 'respondent': self.fs1_id, 'type': self.ct_type_id }] for ct in credit_trades: response = fake_api_calls.create_credit_trade_dict(ct) assert status.HTTP_201_CREATED == response.status_code # Make sure action statuses are "Draft" and "Submitted" # And Button actions are "Save as Draft" and "Propose" new_ct = fake_api_calls.get_credit_trade(response.json()['id']) if ct['status'] == STATUS_DRAFT: statuses = [a['status'] for a in new_ct.json()['actions']] actions = [a['action'] for a in new_ct.json()['actions']] assert sorted(["Draft", "Submitted"]) == sorted(statuses) assert sorted(["Save Draft", "Propose"]) == sorted(actions)
def test_create_other_statuses_fail(self, **kwargs): credit_trades = [{ 'data': { 'numberOfCredits': 1, 'status': STATUS_ACCEPTED, 'respondent': self.fs1_id, 'type': self.ct_type_id }, 'error': { "status": [ "Status cannot be " "`Accepted` on create. " "Use `Draft` or `Submitted` instead." ] } }, { 'data': { 'numberOfCredits': 1, 'status': STATUS_RECOMMENDED, 'respondent': self.fs1_id, 'type': self.ct_type_id }, 'error': { "status": [ "Status cannot be " "`Recommended` on create. " "Use `Draft` or `Submitted` instead." ] } }, { 'data': { 'numberOfCredits': 1, 'status': STATUS_APPROVED, 'respondent': self.fs1_id, 'type': self.ct_type_id }, 'error': { "status": [ "Status cannot be " "`Approved` on create. " "Use `Draft` or `Submitted` instead." ] } }, { 'data': { 'numberOfCredits': 1, 'status': STATUS_COMPLETED, 'respondent': self.fs1_id, 'type': self.ct_type_id }, 'error': { "status": [ "Status cannot be " "`Completed` on create. " "Use `Draft` or `Submitted` instead." ] } }, { 'data': { 'numberOfCredits': 1, 'status': STATUS_CANCELLED, 'respondent': self.fs1_id, 'type': self.ct_type_id }, 'error': { "status": [ "Status cannot be " "`Cancelled` on create. " "Use `Draft` or `Submitted` instead." ] } }, { 'data': { 'numberOfCredits': 1, 'status': STATUS_DECLINED, 'respondent': self.fs1_id, 'type': self.ct_type_id }, 'error': { "status": [ "Status cannot be " "`Declined` on create. " "Use `Draft` or `Submitted` instead." ] } }] for tests in credit_trades: response = fake_api_calls.create_credit_trade_dict(tests['data']) self.assertJSONEqual(response.content.decode("utf-8"), tests['error']) assert response.status_code == status.HTTP_400_BAD_REQUEST
def test_create_other_statuses_fail(self, **kwargs): credit_trades = [{ 'data': { 'numberOfCredits': 1, 'status': STATUS_ACCEPTED, 'respondent': self.fs1_id, 'type': self.ct_type_id }, 'error': { "invalidStatus": [ "You do not have permission to set" " statuses to `Accepted`." ] } }, { 'data': { 'numberOfCredits': 1, 'status': STATUS_RECOMMENDED, 'respondent': self.fs1_id, 'type': self.ct_type_id }, 'error': { "invalidStatus": [ "You do not have permission to set" " statuses to `Recommended`." ] } }, { 'data': { 'numberOfCredits': 1, 'status': STATUS_APPROVED, 'respondent': self.fs1_id, 'type': self.ct_type_id }, 'error': { "invalidStatus": [ "You do not have permission to set" " statuses to `Approved`." ] } }, { 'data': { 'numberOfCredits': 1, 'status': STATUS_COMPLETED, 'respondent': self.fs1_id, 'type': self.ct_type_id }, 'error': { "invalidStatus": [ "You do not have permission to set" " statuses to `Completed`." ] } }, { 'data': { 'numberOfCredits': 1, 'status': STATUS_CANCELLED, 'respondent': self.fs1_id, 'type': self.ct_type_id }, 'error': { "invalidStatus": [ "You do not have permission to set" " statuses to `Cancelled`." ] } }, { 'data': { 'numberOfCredits': 1, 'status': STATUS_DECLINED, 'respondent': self.fs1_id, 'type': self.ct_type_id }, 'error': { "invalidStatus": [ "You do not have permission to set" " statuses to `Declined`." ] } }] for tests in credit_trades: response = fake_api_calls.create_credit_trade_dict(tests['data']) self.assertJSONEqual(response.content.decode("utf-8"), tests['error']) assert response.status_code == status.HTTP_400_BAD_REQUEST