Example #1
0
        public void CourseOptedOut_AccreditingProviderOptedIn()
        {
            const string instCode = "INST101";
            const string accreditingProviderCode  = "AINST201";
            const string accreditingProviderCode2 = "AINST202";
            const string campusCode = "CAMP101";
            const string courseCode = "CRS101";

            Context.Providers.Add(new ProviderBuilder()
                                  .WithOptedIn()
                                  .WithCode(accreditingProviderCode));
            Context.Providers.Add(new ProviderBuilder()
                                  .WithOptedIn()
                                  .WithCode(accreditingProviderCode2));
            Context.Save();

            // payload
            UcasCourse ucasCourse = new PayloadCourseBuilder()
                                    .WithInstCode(instCode)
                                    .WithCampusCode(campusCode)
                                    .WithCrseCode(courseCode)
                                    .WithAccreditingProvider(accreditingProviderCode);
            var ucasPayload = new PayloadBuilder()
                              .WithInstitutions(new List <UcasInstitution>
            {
                new PayloadInstitutionBuilder()
                .WithInstCode(instCode)
            })
                              .WithCourses(new List <UcasCourse> {
                ucasCourse
            })
                              .WithCampuses(new List <UcasCampus>
            {
                new PayloadCampusBuilder()
                .WithCampusCode(campusCode)
                .WithInstCode(instCode)
            });

            // import as new
            DoImport(ucasPayload);
            var provider = Context.Providers.Single(p => p.ProviderCode == instCode);

            provider.Courses.Count.Should().Be(1);
            provider.Courses.Single(c => c.CourseCode == courseCode)
            .AccreditingProvider.ProviderCode.Should().Be(accreditingProviderCode);

            // import as modified
            ucasCourse.AccreditingProvider = accreditingProviderCode2;
            DoImport(ucasPayload);
            var updatedProvider = Context.Providers.Single(p => p.ProviderCode == instCode);

            updatedProvider.Courses.Count.Should().Be(1);
            updatedProvider.Courses.Single(c => c.CourseCode == courseCode)
            .AccreditingProvider.ProviderCode.Should().Be(accreditingProviderCode2);
        }
Example #2
0
        public void CourseOptedOut_NoAccreditingProvider()
        {
            const string instCode   = "INST101";
            const string campusCode = "CAMP101";
            const string courseCode = "CRS101";
            const string courseName = "Course 101";

            // build payload
            UcasCourse ucasCourse = new PayloadCourseBuilder()
                                    .WithInstCode(instCode)
                                    .WithCrseCode(courseCode)
                                    .WithCampusCode(campusCode)
                                    .WithName(courseName);
            var ucasPayload = new PayloadBuilder()
                              .WithInstitutions(new List <UcasInstitution>
            {
                new PayloadInstitutionBuilder()
                .WithInstCode(instCode)
            })
                              .WithCourses(new List <UcasCourse> {
                ucasCourse
            })
                              .WithCampuses(new List <UcasCampus>
            {
                new PayloadCampusBuilder()
                .WithCampusCode(campusCode)
                .WithInstCode(instCode)
            });

            // import as new
            DoImport(ucasPayload);
            var provider = Context.Providers.Single(p => p.ProviderCode == instCode);

            provider.Courses.Count.Should().Be(1);
            provider.Courses.Single(c => c.CourseCode == courseCode)
            .Name.Should().Be(courseName);

            // import as modified
            const string modifiedCourseName = "Modified " + courseName;

            ucasCourse.CrseTitle = modifiedCourseName;
            DoImport(ucasPayload);
            provider = Context.Providers.Single(p => p.ProviderCode == instCode);
            provider.Courses.Count.Should().Be(1);
            provider.Courses.Single(c => c.CourseCode == courseCode)
            .Name.Should().Be(modifiedCourseName);
        }