Пример #1
0
    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')
Пример #2
0
    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()
Пример #3
0
    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'))