public IActionResult Edit(OrganizationEditModel organization) { if (ModelState.IsValid) { int id = _bus.Send(new OrganizationEditCommand { Organization = organization }); return RedirectToAction("Details", new { id = id, area = "Admin" }); } return View("Edit", organization); }
public IActionResult Create(OrganizationEditModel organization) { if (organization == null) return new BadRequestResult(); if (ModelState.IsValid) { _bus.Send(new OrganizationEditCommand { Organization = organization }); return RedirectToRoute("areaRoute", new {controller = "Organization", action = "Index"}); } return View("Create", organization); }
public OrganizationControllerTests() { _organizationEditModel = new OrganizationEditModel { Id = 0, LogoUrl = "http://www.example.com/image.jpg", Name = "Test", PrimaryContactFirstName = "FirstName", PrimaryContactLastName = "LastName", PrimaryContactPhoneNumber = "0123456798", PrimaryContactEmail = "*****@*****.**", WebUrl = "http://www.example.com" }; }
public IActionResult Edit(OrganizationEditModel organization) { if (organization == null) { return HttpBadRequest(); } if (ModelState.IsValid) { int id = _mediator.Send(new OrganizationEditCommand { Organization = organization }); return RedirectToAction("Details", new { id = id, area = "Admin" }); } return View("Edit", organization); }
/// <summary> /// Creates an OrganizationEditModel from an existing Organization /// </summary> /// <param name="organization">An Organization that will be supply the initial values for editing.</param> /// <returns>An OrganizationEditModel that can be used to capture the fields for an Organization /// and it's location and primary contact built from values from the supplied organization. </returns> public static OrganizationEditModel ToEditModel_Organization(Organization organization) { OrganizationEditModel ret = new OrganizationEditModel() { Id = organization.Id, Name = organization.Name, Location = organization.Location.ToEditModel(), LogoUrl = organization.LogoUrl, WebUrl = organization.WebUrl, PrivacyPolicy = organization.PrivacyPolicy }; if (organization.OrganizationContacts?.SingleOrDefault(tc => tc.ContactType == (int)ContactTypes.Primary)?.Contact != null) { ret = (OrganizationEditModel)organization.OrganizationContacts?.SingleOrDefault(tc => tc.ContactType == (int)ContactTypes.Primary)?.Contact.ToEditModel(ret); } return ret; }
public IActionResult Edit(OrganizationEditModel organization) { if (organization == null) { return HttpBadRequest(); } if (ModelState.IsValid) { bool isNameUnique = _mediator.Send(new OrganizationNameUniqueQuery() { OrganizationName = organization.Name, OrganizationId = organization.Id }); if (isNameUnique) { int id = _mediator.Send(new OrganizationEditCommand { Organization = organization }); return RedirectToAction("Details", new { id = id, area = "Admin" }); } else { ModelState.AddModelError(nameof(organization.Name), "Organization with same name already exists. Please use different name."); } } return View("Edit", organization); }
public async Task<IActionResult> Edit(OrganizationEditModel organization) { if (organization == null) { return BadRequest(); } var errors = _organizationValidator.Validate(organization); errors.ToList().ForEach(e => ModelState.AddModelError(e.Key, e.Value)); if (ModelState.IsValid) { var isNameUnique = await _mediator.SendAsync(new OrganizationNameUniqueQueryAsync { OrganizationName = organization.Name, OrganizationId = organization.Id }); if (isNameUnique) { var id = await _mediator.SendAsync(new EditOrganizationAsync { Organization = organization }); return RedirectToAction(nameof(Details), new { id, area = "Admin" }); } ModelState.AddModelError(nameof(organization.Name), "Organization with same name already exists. Please use different name."); } return View("Edit", organization); }
public async Task EditGetReturnsCorrectViewAndViewModel_WhenMediatorReturnsOrganizationEditModel() { CreateSut(); var model = new OrganizationEditModel(); _mediator.Setup(x => x.SendAsync(It.Is<OrganizationEditQueryAsync>(y => y.Id == Id))).ReturnsAsync(model); var result = (ViewResult) await _sut.Edit(Id); Assert.Equal("Edit", result.ViewName); Assert.Same(model, result.ViewData.Model); }
public void EditPostShouldRedirectToDetailsWithTheIdFromTheMediatorIfModelStateIsValid() { var mockMediator = new Mock<IMediator>(); var controller = new OrganizationController(mockMediator.Object); var mockContext = MockActionContextWithUser(SiteAdmin()); controller.ActionContext = mockContext.Object; var model = new OrganizationEditModel(); mockMediator.Setup(x => x.Send(It.Is<OrganizationEditCommand>(y => y.Organization == model))).Returns(Id); var result = (RedirectToActionResult)controller.Edit(model); Assert.Equal("Details", result.ActionName); Assert.Equal("Admin", result.RouteValues["area"]); Assert.Equal(Id, result.RouteValues["id"]); }
public void EditPostShouldReturnTheEditViewWithTheModelPassedInIfTheModelStateIsInvalid() { var controller = new OrganizationController(new Mock<IMediator>().Object); var mockContext = MockActionContextWithUser(SiteAdmin()); controller.ActionContext = mockContext.Object; controller.ModelState.AddModelError("foo", "bar"); var model = new OrganizationEditModel(); var result = (ViewResult)controller.Edit(model); Assert.Equal("Edit", result.ViewName); Assert.Same(model, result.ViewData.Model); }
public void EditGetShouldReturnEditViewWhenMediatorReturnsOrganizationEditModel() { CreateSut(); var model = new OrganizationEditModel(); _mediator.Setup(x => x.Send(It.Is<OrganizationEditQuery>(y => y.Id == Id))).Returns(model); var result = (ViewResult)_sut.Edit(Id); Assert.Equal("Edit", result.ViewName); Assert.Same(model, result.ViewData.Model); }
public void EditPostShouldRedirectToDetailsWithTheIdFromTheBusIfModelStateIsValid() { CreateSut(); var model = new OrganizationEditModel(); _bus.Setup(x => x.Send(It.Is<OrganizationEditCommand>(y => y.Organization == model))).Returns(Id); var result = (RedirectToActionResult)_sut.Edit(model); Assert.Equal("Details", result.ActionName); Assert.Equal("Admin", result.RouteValues["area"]); Assert.Equal(Id, result.RouteValues["id"]); }
public void EditPostShouldReturnTheEditViewWithTheModelPassedInIfTheModelStateIsInvalid() { CreateSut(); AddErrorToModelState(); var model = new OrganizationEditModel(); var result = (ViewResult)_sut.Edit(model); Assert.Equal("Edit", result.ViewName); Assert.Same(model, result.ViewData.Model); }
public async Task EditPostSendsOrganizationNameUniqueQueryWithCorrectParametersWhenModelStateIsValid() { var mediator = new Mock<IMediator>(); var organizationEditModel = new OrganizationEditModel { Name = "name", Id = 1 }; var controller = new OrganizationController(mediator.Object, SuccessValidator()); await controller.Edit(organizationEditModel); mediator.Verify(x => x.SendAsync(It.Is<OrganizationNameUniqueQueryAsync>(y => y.OrganizationName == organizationEditModel.Name && y.OrganizationId == organizationEditModel.Id)), Times.Once()); }
public async Task EditPostReturnsTheCorrectViewAndViewModelWhenModelStateIsInvalid() { var model = new OrganizationEditModel(); var controller = new OrganizationController(new Mock<IMediator>().Object, SuccessValidator()); controller.ModelState.AddModelError("foo", "bar"); var result = (ViewResult)await controller.Edit(model); Assert.Equal("Edit", result.ViewName); Assert.Same(model, result.ViewData.Model); }
public void CreateNewOrganizationWithExistingOrganizationNameReturnsEditView() { CreateSut(); var model = new OrganizationEditModel(); model.Name = "test"; model.Id = 0; _mediator.Setup(x => x.Send(It.Is<OrganizationEditCommand>(y => y.Organization == model))).Returns(Id); var result = (ViewResult)_sut.Create(); Assert.Equal("Edit", result.ViewName); }
public async Task EditPostRedirectsToCorrectActionWithCorrectData_WhenModelStateIsValid_AndOrganizationNameIsUnique() { var model = new OrganizationEditModel(); var mockMediator = new Mock<IMediator>(); mockMediator.Setup(y => y.SendAsync(It.IsAny<OrganizationNameUniqueQueryAsync>())).ReturnsAsync(true); mockMediator.Setup(x => x.SendAsync(It.Is<EditOrganizationAsync>(y => y.Organization == model))).ReturnsAsync(Id); var controller = new OrganizationController(mockMediator.Object, SuccessValidator()); var result = (RedirectToActionResult) await controller.Edit(model); Assert.Equal("Details", result.ActionName); Assert.Equal("Admin", result.RouteValues["area"]); Assert.Equal(Id, result.RouteValues["id"]); }