Ejemplo n.º 1
0
    def test_populate_official_with_existing_draft(self):
        course_run = CourseRunFactory(draft=True,
                                      course=CourseFactory(draft=True))
        course_run.status = CourseRunStatus.Reviewed
        course_run.save()

        salesforce_id = 'SomeSalesforceId'

        course_run_2 = CourseRunFactory(draft=True,
                                        course=CourseFactory(
                                            draft=True,
                                            salesforce_id=salesforce_id),
                                        salesforce_id=salesforce_id)
        course_run_2.status = CourseRunStatus.Reviewed
        course_run_2.save()

        # Need to modify state of the instance passed in
        def new_create_instance(instance):
            instance.salesforce_id = salesforce_id
            instance.save()

        with mock.patch(
                'course_discovery.apps.course_metadata.tests.test_salesforce.CourseRun.save'
        ):
            with mock.patch(
                    'course_discovery.apps.course_metadata.tests.test_salesforce.Course.save'
            ):
                with mock.patch(
                        self.salesforce_util_path) as mock_salesforce_util:
                    with mock.patch(self.salesforce_util_path +
                                    '.create_course_run',
                                    new=new_create_instance):
                        with mock.patch(self.salesforce_util_path +
                                        '.create_course',
                                        new=new_create_instance):
                            created = populate_official_with_existing_draft(
                                course_run.official_version,
                                mock_salesforce_util)
                            assert created
                            assert course_run.official_version.salesforce_id == salesforce_id

                            created = populate_official_with_existing_draft(
                                course_run.official_version.course,
                                mock_salesforce_util)
                            assert created
                            assert course_run.official_version.course.salesforce_id == salesforce_id

                            created = populate_official_with_existing_draft(
                                course_run_2.official_version,
                                mock_salesforce_util)
                            assert not created
                            assert course_run_2.official_version.salesforce_id == salesforce_id

                            created = populate_official_with_existing_draft(
                                course_run_2.official_version.course,
                                mock_salesforce_util)
                            assert not created
                            assert course_run_2.official_version.course.salesforce_id == salesforce_id
Ejemplo n.º 2
0
    def test_marketable_unpublished_exclusions(self, is_published):
        """ Verify the method excludes CourseRuns with Unpublished status. """
        course_run = CourseRunFactory(status=CourseRunStatus.Unpublished)
        SeatFactory(course_run=course_run)

        if is_published:
            course_run.status = CourseRunStatus.Published
            course_run.save()

        assert CourseRun.objects.marketable().exists() == is_published