public async Task <ActionResult> RegisteredCompanyDetails(RegisteredCompanyDetailsViewModel model) { SetBreadcrumb(InternalUserActivity.CreateOrganisation); if (!ModelState.IsValid) { var countries = await GetCountries(); model.Address.Countries = countries; return(View(model)); } using (var client = apiClient()) { var request = new CreateOrganisationAdmin() { Address = model.Address, BusinessName = model.CompanyName, OrganisationType = model.OrganisationType.GetValueFromDisplayName <OrganisationType>(), RegistrationNumber = model.CompaniesRegistrationNumber, TradingName = model.BusinessTradingName }; var id = await client.SendAsync(User.GetAccessToken(), request); await cache.InvalidateOrganisationSearch(); return(RedirectToAddAction(id, model.EntityType)); } }
public async Task HandleAsync_OrganisationTypeNotSet_ThrowsNotImplementedException() { CreateOrganisationAdmin request = new CreateOrganisationAdmin() { BusinessName = "Business", Address = A.Dummy <AddressData>() }; Guid organisationId = Guid.NewGuid(); CreateOrganisationAdminHandler handler = new CreateOrganisationAdminHandler(authorization, this.dataAccess, this.context); Func <Task> action = async() => await handler.HandleAsync(request); await Assert.ThrowsAsync <NotImplementedException>(action); }
public async Task HandleAsync_Partnership_CreatesOrganisation() { CreateOrganisationAdmin request = new CreateOrganisationAdmin() { BusinessName = "Business", Address = CreateAddress(), OrganisationType = Core.Organisations.OrganisationType.Partnership }; Guid organisationId = Guid.NewGuid(); CreateOrganisationAdminHandler handler = new CreateOrganisationAdminHandler(authorization, this.dataAccess, this.context); A.CallTo(() => dataAccess.Add <Organisation>(A <Organisation> .That.Matches(p => p.OrganisationName == request.BusinessName))).Returns(organisationId); Guid result = await handler.HandleAsync(request); A.CallTo(() => dataAccess.Add <Organisation>(A <Organisation> .That.Matches(p => p.OrganisationName == request.BusinessName))).MustHaveHappened(Repeated.Exactly.Once); A.CallTo(() => dataAccess.Add <Address>(A <Address> .That.Matches(p => p.Address1 == request.Address.Address1))).MustHaveHappened(Repeated.Exactly.Once); result.Should().Be(organisationId); }