public void Delete_urdms_users() { var project = GetProject(); var parties = project.Parties; var deletedParties = parties.Where(o => o.Party.UserId != null && o.Id == 0).Take(1) .Union(parties.Where(o => o.Party.UserId != null && o.Id != 0).Take(1)) .ToList(); var currentParties = parties.Except(deletedParties).ToList(); AddProjectToFormCollection(project, deletedParties.Select(o => o.Party).ToList()); _form.Add("DeleteUrdmsUser", "Remove users"); var bindingContext = GetBindingContext(); var binder = new DataManagementPlanViewModelBinder(); var viewModel = binder.BindModel(_context, bindingContext) as DataManagementPlanViewModel; Assert.That(viewModel, Is.Not.Null, "Viewmodel is null"); Assert.That(viewModel.UrdmsUsers.Count, Is.EqualTo(currentParties.Count(o => o.Party.UserId != null)), "Curtin Users count is incorrect"); Assert.That(viewModel.NonUrdmsUsers.Count, Is.EqualTo(currentParties.Count(o => o.Party.UserId == null)), "Non Curtin Users count is incorrect"); Assert.That(viewModel.UrdmsUsers.All(o => currentParties.SingleOrDefault(q => q.Party.FullName == o.FullName && q.Party.UserId != null) != null), Is.True, "Invalid curtin users"); Assert.That(viewModel.NonUrdmsUsers.All(o => currentParties.SingleOrDefault(q => q.Party.FullName == o.FullName && q.Party.UserId == null) != null), Is.True, "Invalid curtin users"); }
public void Persist_users() { var project = GetProject(); var parties = project.Parties; AddProjectToFormCollection(project); var bindingContext = GetBindingContext(); var binder = new DataManagementPlanViewModelBinder(); var viewModel = binder.BindModel(_context, bindingContext) as DataManagementPlanViewModel; Assert.That(viewModel, Is.Not.Null, "Viewmodel is null"); Assert.That(viewModel.UrdmsUsers.Count, Is.EqualTo(parties.Count(o => o.Party.UserId != null)), "URDMS Users count is incorrect"); Assert.That(viewModel.NonUrdmsUsers.Count, Is.EqualTo(parties.Count(o => o.Party.UserId == null)), "Non URDMS Users count is incorrect"); Assert.That(viewModel.UrdmsUsers.All(o => parties.SingleOrDefault(q => q.Party.FullName == o.FullName && q.Party.UserId != null) != null), Is.True, "Invalid URDMS users"); Assert.That(viewModel.NonUrdmsUsers.All(o => parties.SingleOrDefault(q => q.Party.FullName == o.FullName && q.Party.UserId == null) != null), Is.True, "Invalid URDMS users"); }