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); }
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); }