public void GivenValidViewModelHasSelectedProviders_WhenEdit_ThenProviderAssociationsChange() { try { EducationContext.Database.ExecuteSqlCommand("Update SSD.StudentAssignedOffering Set IsActive = 0"); var expected = new int[] { 1, 2 }; ProgramModel viewModel = new ProgramModel { Id = 2, Name = "something valid", SelectedProviders = expected, SelectedServiceTypes = new List <int> { 2 } }; Target.Edit(viewModel); using (EducationDataContext assertContext = new EducationDataContext()) { var actual = assertContext.Programs.Include("ServiceOfferings.Provider").Single(p => p.Id == viewModel.Id).ServiceOfferings.Where(s => s.IsActive).Select(s => s.Provider).Distinct(); CollectionAssert.AreEquivalent(expected, actual.Select(p => p.Id).ToList()); } } finally { AssemblySetup.ForceDeleteEducationDatabase("SSD"); } }
public void GivenValidStudentId_WhenGenerateStudentDetailViewModel_ThenViewModelContainsServiceData() { AssemblySetup.ForceDeleteEducationDatabase("SSD"); InitializeTest(); StudentDetailModel actual = Target.GenerateStudentDetailViewModel(User, 1); Assert.AreNotEqual(0, actual.StudentAssignedOfferings.Select(s => s.ServiceOffering.Provider).Count()); Assert.AreNotEqual(0, actual.StudentAssignedOfferings.Select(s => s.ServiceOffering.ServiceType).Count()); Assert.AreNotEqual(0, actual.StudentAssignedOfferings.Select(s => s.CreatingUser).Count()); }
public void GivenProviderProgramAssociationsWereMade_WhenEdit_ThenProviderHasSelectedPrograms() { try { EducationSecurityPrincipal user = new EducationSecurityPrincipal(new UserRepository(EducationContext).Items.Where(s => s.UserKey == "Bob").Include("UserRoles.Role").Single()); var expected = new int[] { 1, 2 }; var provider = EducationContext.Providers.First(); var viewModel = new ProviderModel { Id = provider.Id, Name = provider.Name, SelectedPrograms = expected, Address = provider.Address, Contact = provider.Contact, Website = provider.Website }; Target.Edit(user, viewModel); using (EducationDataContext verificationContext = new EducationDataContext()) { var actual = verificationContext.Providers.Include(p => p.ServiceOfferings).Single(p => p.Id == viewModel.Id).ServiceOfferings.Where(s => s.IsActive).Select(s => s.ProgramId).Distinct(); CollectionAssert.AreEquivalent(expected, actual.ToList()); } } finally { AssemblySetup.ForceDeleteEducationDatabase("SSD"); } }