def test_create_case_for_course_salesforce_case_id_not_set_salesforce_id_set( self): course = CourseFactoryNoSignals( partner=self.salesforce_config.partner, salesforce_id='TestSalesforceId', ) official_course = CourseFactoryNoSignals( partner=self.salesforce_config.partner, draft_version=course, ) return_value = {'id': 'SomeSalesforceId'} with mock.patch(self.salesforce_path) as mock_salesforce: mock_salesforce().Case.create.return_value = return_value util = SalesforceUtil(self.salesforce_config.partner) util.create_case_for_course(course) mock_salesforce().Case.create.assert_called_with({ 'Course__c': course.salesforce_id, 'Status': 'Open', 'Origin': 'Publisher', 'Subject': '{} Comments'.format(course.title), 'Description': 'This case is required to be Open for the Publisher comment service.', 'RecordTypeId': self.salesforce_config.case_record_type_id, }) assert course.salesforce_case_id == return_value.get('id') assert official_course.salesforce_case_id == return_value.get('id')
def test_create_case_for_course_salesforce_case_id_set(self): course = CourseFactoryNoSignals(partner=self.salesforce_config.partner, salesforce_case_id='Test') with mock.patch(self.salesforce_path) as mock_salesforce: util = SalesforceUtil(self.salesforce_config.partner) util.create_case_for_course(course) mock_salesforce().Case.create.assert_not_called()
def test_create_case_for_course_salesforce_case_id_not_set_salesforce_id_not_set( self): create_course_path = self.salesforce_util_path + '.create_course' self.salesforce_config.case_record_type_id = 'TestId' course = CourseFactoryNoSignals(partner=self.salesforce_config.partner) return_value = {'id': 'SomeSalesforceId'} # Need to modify state of the instance passed in def new_create_course(self, instance): # pylint: disable=unused-argument instance.salesforce_id = 'SomeSalesforceId' instance.save() with mock.patch(self.salesforce_path) as mock_salesforce: with mock.patch(create_course_path, new=new_create_course): mock_salesforce().Case.create.return_value = return_value util = SalesforceUtil(self.salesforce_config.partner) self.assertIsNone(course.salesforce_id) util.create_case_for_course(course) mock_salesforce().Case.create.assert_called_with({ 'Course__c': course.salesforce_id, 'Status': 'Open', 'Origin': 'Publisher', 'Subject': '{} Comments'.format(course.title), 'Description': 'This case is required to be Open for the Publisher comment service.', 'RecordTypeId': self.salesforce_config.case_record_type_id, }) self.assertIsNotNone(course.salesforce_id) self.assertEqual(course.salesforce_case_id, return_value.get('id'))