public async void PostEditRegisteredCompanyOrganisationDetails_ModelIsInvalid_GetsCountriesAndReturnsDefaultView() { var countries = new List <CountryData>(); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <GetCountries> ._)) .Returns(countries); new HttpContextMocker().AttachToController(controller); controller.ModelState.AddModelError("SomeProperty", "IsInvalid"); var viewModel = new EditRegisteredCompanyOrganisationDetailsViewModel { OrganisationType = OrganisationType.SoleTraderOrIndividual, BusinessAddress = new Core.Shared.AddressData(), CompanyName = "CompanyName", CompaniesRegistrationNumber = "123456789", BusinessTradingName = "TradingName", OrgId = Guid.NewGuid(), SchemeId = Guid.NewGuid() }; var result = await controller.EditRegisteredCompanyOrganisationDetails(viewModel); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <GetCountries> ._)) .MustHaveHappened(Repeated.Exactly.Once); countries.Should().BeSameAs(viewModel.BusinessAddress.Countries); result.Should().NotBeNull(); result.Should().BeOfType <ViewResult>(); var viewResult = (ViewResult)result; viewResult.ViewName.Should().BeEmpty(); viewModel.Should().BeSameAs(viewResult.Model); }