public void Create(EulaModel viewModel, EducationSecurityPrincipal user) { if (viewModel == null) { throw new ArgumentNullException("viewModel"); } if (user == null) { throw new ArgumentNullException("user"); } if (!user.IsInRole(SecurityRoles.DataAdmin)) { throw new EntityAccessUnauthorizedException("user"); } EulaAgreement agreement = new EulaAgreement { CreateTime = DateTime.Now, CreatingUser = user.Identity.User }; viewModel.CopyTo(agreement); EulaAgreementRepository.Add(agreement); EulaAcceptance acceptance = new EulaAcceptance { EulaAgreement = agreement, CreatingUserId = user.Identity.User.Id, CreateTime = DateTime.Now }; if (user.Identity.User.EulaAcceptances == null) { user.Identity.User.EulaAcceptances = new List<EulaAcceptance>(); } user.Identity.User.EulaAcceptances.Add(acceptance); UserRepository.Update(user.Identity.User); RepositoryContainer.Save(); }
public void GivenNullRedirect_WhenPostIndex_ThenRedirectToHome() { EulaModel viewModel = new EulaModel(); var actual = Target.Index(viewModel, null) as RedirectToRouteResult; actual.AssertActionRedirection("Index", "Home"); }
public void GivenViewModel_WhenPostIndex_ThenLogicManagerLogsViewModelForUser() { EulaModel expected = new EulaModel(); Target.Index(expected, null); MockLogicManager.AssertWasCalled(m => m.Log(expected, User)); }
public EulaModel GenerateEulaAdminModel() { EulaModel model = new EulaModel(); var eula = FindLatestAgreement(); model.CopyFrom(eula); return(model); }
public void GivenInvalidModelState_WhenAdminPosts_ThenPartialViewHasExpectedViewModel() { Target.ModelState.AddModelError("key", "error"); var expected = new EulaModel { Id = 1, EulaText = "blah" }; var result = Target.Admin(expected) as PartialViewResult; result.AssertGetViewModel(expected); }
public void GivenInvalidModelState_WhenAdminPosts_ThenPartivalViewIsReturned() { Target.ModelState.AddModelError("key", "error"); var model = new EulaModel { Id = 1, EulaText = "blah" }; var result = Target.Admin(model) as PartialViewResult; Assert.IsNotNull(result); }
public ActionResult Index(EulaModel viewModel, string redirect) { LogicManager.Log(viewModel, (EducationSecurityPrincipal)User); if (redirect == null) { return(RedirectToAction("Index", "Home")); } return(Redirect(redirect)); }
public void GivenLogicManagerReturnsViewModel_WhenIndex_ThenViewResultContainsModel() { EulaModel expected = new EulaModel(); MockLogicManager.Expect(m => m.GeneratePromptViewModel()).Return(expected); ViewResult result = Target.Index(); result.AssertGetViewModel(expected); }
public void GivenRedirectUrl_WhenPostIndex_ThenRedirectToHome() { string expected = "whatever"; EulaModel viewModel = new EulaModel(); var actual = Target.Index(viewModel, expected) as RedirectResult; Assert.AreEqual(expected, actual.Url); }
public ActionResult Index(EulaModel viewModel, string redirect) { LogicManager.Log(viewModel, (EducationSecurityPrincipal)User); if (redirect == null) { return RedirectToAction("Index", "Home"); } return Redirect(redirect); }
public ActionResult Admin(EulaModel viewModel) { if (ModelState.IsValid) { LogicManager.Create(viewModel, (EducationSecurityPrincipal)User); viewModel = LogicManager.GenerateEulaAdminModel(); return(View(viewModel)); } return(PartialView(viewModel)); }
public void GivenValidModel_WhenAdminPosts_ThenLogicManagerCreates() { var model = new EulaModel { Id = 1, EulaText = "blah blah blah" }; Target.Admin(model); MockLogicManager.AssertWasCalled(m => m.Create(model, User)); }
public void GivenEulas_WhenGenerateEulaAdminModel_ThenExpectedModelReturned() { EulaModel expected = new EulaModel(); expected.CopyFrom(Data.Eulas.OrderByDescending(e => e.CreateTime).First()); var actual = Target.GenerateEulaAdminModel(); Assert.AreEqual(expected.Id, actual.Id); Assert.AreEqual(expected.EulaText, actual.EulaText); }
public ActionResult Admin(EulaModel viewModel) { if (ModelState.IsValid) { LogicManager.Create(viewModel, (EducationSecurityPrincipal)User); viewModel = LogicManager.GenerateEulaAdminModel(); return View(viewModel); } return PartialView(viewModel); }
public void GivenMultipleEulaAgreements_WhenGeneratePromptViewModel_ThenReturnLatestAgreement() { EulaAgreement expected = Data.Eulas.OrderByDescending(e => e.CreateTime).First(); EulaModel actual = Target.GeneratePromptViewModel(); Assert.AreEqual(expected.CreateTime, actual.Audit.CreateTime); Assert.AreEqual(expected.CreatingUser.DisplayName, actual.Audit.CreatedBy); Assert.AreEqual(expected.EulaText, actual.EulaText); Assert.AreEqual(expected.Id, actual.Id); }
public void GivenUser_WhenGenerateEulaModelByUser_ThenEulaModelReturned() { TestData data = new TestData(); EulaModel expected = new EulaModel(); expected.CopyFrom(data.Users.First().EulaAcceptances.First().EulaAgreement); var actual = Target.GenerateEulaModelByUser(1); Assert.AreEqual(expected.Id, actual.Id); Assert.AreEqual(expected.EulaText, actual.EulaText); }
public void GivenViewModel_WhenLog_ThenContextSaves() { EulaModel viewModel = new EulaModel { Id = 1, EulaText = "blah blerg bleh", Audit = new AuditModel { CreatedBy = User.Identity.User.DisplayName, CreateTime = DateTime.Now } }; Target.Log(viewModel, User); Repositories.MockRepositoryContainer.AssertWasCalled(m => m.Save()); }
public void GivenValidModel_WhenAdminPosts_ThenPageWithReturnedWithNewViewModel() { var model = new EulaModel { Id = 1, EulaText = "blah blah blah" }; var expected = new EulaModel { Id = 2, EulaText = "blah blah blah" }; MockLogicManager.Expect(m => m.GenerateEulaAdminModel()).Return(expected); var result = Target.Admin(model) as ViewResult; Assert.IsNotNull(result); result.AssertGetViewModel(expected); }
public void GivenValidViewModel_WhenCreate_ThenAddedEulaAgreementHasCreationAuditData() { EulaModel viewModel = new EulaModel { Id = 1, EulaText = "blah blah" }; User.Identity.User.UserRoles.Add(new UserRole { Role = new Role { Name = SecurityRoles.DataAdmin } }); Target.Create(viewModel, User); Repositories.MockEulaAgreementRepository.AssertWasCalled(m => m.Add(Arg <EulaAgreement> .Matches(a => a.CreateTime.WithinTimeSpanOf(TimeSpan.FromSeconds(1), DateTime.Now) && a.CreatingUser == User.Identity.User))); }
public void GivenValidViewModel_WhenCreate_ThenAddedEulaAgreementHasStateFromViewModel() { EulaModel expectedState = new EulaModel { Id = 1, EulaText = "blah blah" }; User.Identity.User.UserRoles.Add(new UserRole { Role = new Role { Name = SecurityRoles.DataAdmin } }); Target.Create(expectedState, User); Repositories.MockEulaAgreementRepository.AssertWasCalled(m => m.Add(Arg <EulaAgreement> .Matches(a => AssertPropertiesMatch(expectedState, a)))); }
public void GivenValidViewModel_WhenCreate_ThenChangesSaved() { EulaModel viewModel = new EulaModel { Id = 1, EulaText = "blah blah blah", Audit = new AuditModel { CreatedBy = User.Identity.User.DisplayName, CreateTime = DateTime.Now } }; User.Identity.User.UserRoles.Add(new UserRole { Role = new Role { Name = SecurityRoles.DataAdmin } }); Target.Create(viewModel, User); Repositories.MockRepositoryContainer.AssertWasCalled(m => m.Save()); }
public EulaModel GenerateEulaModelByUser(int userId) { User user = UserRepository.Items.Include("EulaAcceptances.EulaAgreement.CreatingUser").SingleOrDefault(u => u.Id == userId); if (user == null) { throw new EntityNotFoundException("user"); } EulaAcceptance acceptance = user.EulaAcceptances.OrderByDescending(e => e.CreateTime).FirstOrDefault(); if (acceptance == null) { throw new EntityNotFoundException("acceptance"); } EulaModel model = new EulaModel(); model.CopyFrom(acceptance.EulaAgreement); return(model); }
public void Log(EulaModel viewModel, EducationSecurityPrincipal user) { if (viewModel == null) { throw new ArgumentNullException("viewModel"); } if (user == null) { throw new ArgumentNullException("user"); } EulaAcceptance acceptance = new EulaAcceptance { EulaAgreementId = viewModel.Id, CreatingUserId = user.Identity.User.Id, CreateTime = DateTime.Now }; user.Identity.User.EulaAcceptances.Add(acceptance); UserRepository.Update(user.Identity.User); RepositoryContainer.Save(); }
public void Create(EulaModel viewModel, EducationSecurityPrincipal user) { if (viewModel == null) { throw new ArgumentNullException("viewModel"); } if (user == null) { throw new ArgumentNullException("user"); } if (!user.IsInRole(SecurityRoles.DataAdmin)) { throw new EntityAccessUnauthorizedException("user"); } EulaAgreement agreement = new EulaAgreement { CreateTime = DateTime.Now, CreatingUser = user.Identity.User }; viewModel.CopyTo(agreement); EulaAgreementRepository.Add(agreement); EulaAcceptance acceptance = new EulaAcceptance { EulaAgreement = agreement, CreatingUserId = user.Identity.User.Id, CreateTime = DateTime.Now }; if (user.Identity.User.EulaAcceptances == null) { user.Identity.User.EulaAcceptances = new List <EulaAcceptance>(); } user.Identity.User.EulaAcceptances.Add(acceptance); UserRepository.Update(user.Identity.User); RepositoryContainer.Save(); }
public EulaModel GenerateEulaModelByUser(int userId) { User user = UserRepository.Items.Include("EulaAcceptances.EulaAgreement.CreatingUser").SingleOrDefault(u => u.Id == userId); if (user == null) { throw new EntityNotFoundException("user"); } EulaAcceptance acceptance = user.EulaAcceptances.OrderByDescending(e => e.CreateTime).FirstOrDefault(); if (acceptance == null) { throw new EntityNotFoundException("acceptance"); } EulaModel model = new EulaModel(); model.CopyFrom(acceptance.EulaAgreement); return model; }
public EulaModel GenerateEulaAdminModel() { EulaModel model = new EulaModel(); var eula = FindLatestAgreement(); model.CopyFrom(eula); return model; }
private static bool AssertPropertiesMatch(EulaModel expectedState, EulaAgreement actualState) { Assert.IsNotNull(actualState); Assert.AreEqual(expectedState.EulaText, actualState.EulaText); return(true); }
private static bool AssertPropertiesMatch(EulaModel expectedState, EulaAgreement actualState) { Assert.IsNotNull(actualState); Assert.AreEqual(expectedState.EulaText, actualState.EulaText); return true; }
public void GivenValidViewModel_WhenCreate_ThenUserRepositoryUpdates() { EulaModel viewModel = new EulaModel { Id = 1, EulaText = "blah blerg bleh", Audit = new AuditModel { CreatedBy = User.Identity.User.DisplayName, CreateTime = DateTime.Now } }; User.Identity.User.UserRoles.Add(new UserRole { Role = new Role { Name = SecurityRoles.DataAdmin } }); Target.Create(viewModel, User); Repositories.MockUserRepository.AssertWasCalled(m => m.Update(User.Identity.User)); }
public void WhenGeneratePromptViewModel_ThenReturnInstance() { EulaModel actual = Target.GeneratePromptViewModel(); Assert.IsNotNull(actual); }
public void GivenValidViewModel_WhenCreate_ThenAddedEulaAgreementHasCreationAuditData() { EulaModel viewModel = new EulaModel { Id = 1, EulaText = "blah blah" }; User.Identity.User.UserRoles.Add(new UserRole { Role = new Role { Name = SecurityRoles.DataAdmin } }); Target.Create(viewModel, User); Repositories.MockEulaAgreementRepository.AssertWasCalled(m => m.Add(Arg<EulaAgreement>.Matches(a => a.CreateTime.WithinTimeSpanOf(TimeSpan.FromSeconds(1), DateTime.Now) && a.CreatingUser == User.Identity.User))); }
public void GivenValidViewModel_WhenCreate_ThenAddedEulaAgreementHasStateFromViewModel() { EulaModel expectedState = new EulaModel { Id = 1, EulaText = "blah blah" }; User.Identity.User.UserRoles.Add(new UserRole { Role = new Role { Name = SecurityRoles.DataAdmin } }); Target.Create(expectedState, User); Repositories.MockEulaAgreementRepository.AssertWasCalled(m => m.Add(Arg<EulaAgreement>.Matches(a => AssertPropertiesMatch(expectedState, a)))); }
public void InitializeTest() { Target = new EulaModel(); TestData = new TestData(); }
public void GivenViewModel_WhenLog_ThenRepositoryUpdates() { EulaModel viewModel = new EulaModel { Id = 1, EulaText = "blah blerg bleh", Audit = new AuditModel { CreatedBy = User.Identity.User.DisplayName, CreateTime = DateTime.Now } }; Target.Log(viewModel, User); Repositories.MockUserRepository.AssertWasCalled(m => m.Update(User.Identity.User)); }
public ViewResult Admin() { EulaModel model = LogicManager.GenerateEulaAdminModel(); return(View(model)); }
public ViewResult Index() { EulaModel viewModel = LogicManager.GeneratePromptViewModel(); return(View(viewModel)); }