public async Task Updates_the_model() { var resource = _resourceBuilder.Build(); StubModelLoader(); var response = Substitute.For <IResponse>(); _modelSaver.Save(_currentSupplyModel).Returns(response); SetupStubbedSwitch(); response.SwitchUrl.Returns("switch-uri"); var viewModel = new CurrentSupplyViewModel { CurrentSupplyUrl = Uri, IsElectricityComparison = true, IsGasComparison = false }; await _sut.Index(viewModel); Assert.That(resource.DataTemplate.GetItem("includedFuels", "compareGas").Data, Is.EqualTo(false.ToString())); Assert.That(resource.DataTemplate.GetItem("includedFuels", "compareElec").Data, Is.EqualTo(true.ToString())); }
public async Task Post_with_any_errors_returns_errors() { _resourceBuilder.WithError("some-error"); StubModelLoader(); _modelSaver .Save(_currentSupplyModel) .Returns(new Response(new ResourceBuilder().WithError("some-error").Build())); var requestViewModel = new CurrentSupplyViewModel { CurrentSupplyUrl = Uri }; var result = (ViewResult)await _sut.Index(requestViewModel); var responseViewModel = (CurrentSupplyViewModel)result.Model; var error = responseViewModel.Errors.Single(); Assert.That(error, Is.EqualTo("some-error")); }
public async Task Redirects_to_page(bool isProRata, string expectedControllerName, string expectedUri) { StubModelLoader(); var response = Substitute.For <IResponse>(); _modelSaver.Save(_currentSupplyModel).Returns(response); response.SwitchUrl.Returns("switch-uri"); response.GetNextUrl().Returns("next-uri"); SetupStubbedSwitch(isProRata); var viewModel = new CurrentSupplyViewModel { CurrentSupplyUrl = Uri }; var result = (RedirectToActionResult)await _sut.Index(viewModel); Assert.That(result.ActionName, Is.EqualTo("Index")); Assert.That(result.ControllerName, Is.EqualTo(expectedControllerName)); Assert.That(result.RouteValues["uri"], Is.EqualTo(expectedUri)); }