public async Task PostConfirmRemoval_WithInvalidModel_CallsApiAndPopulatesViewModel() { // Arrange Guid registeredProducerId = new Guid("9F253FE4-B644-4EA1-B58E-19C735512449"); ProducerDetailsScheme producerDetailsScheme = A.Dummy<ProducerDetailsScheme>(); IWeeeClient weeeClient = A.Fake<IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A<string>._, A<GetProducerDetailsByRegisteredProducerId>._)) .WhenArgumentsMatch(a => a.Get<GetProducerDetailsByRegisteredProducerId>("request").RegisteredProducerId == registeredProducerId) .Returns(producerDetailsScheme); ProducersController controller = new ProducersController( A.Dummy<BreadcrumbService>(), A.Dummy<ISearcher<ProducerSearchResult>>(), () => weeeClient, A.Dummy<IWeeeCache>()); controller.ModelState.AddModelError("SomeProperty", "Exception"); // Act ActionResult result = await controller.ConfirmRemoval(registeredProducerId, A.Dummy<ConfirmRemovalViewModel>()); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); ConfirmRemovalViewModel viewModel = viewResult.Model as ConfirmRemovalViewModel; Assert.NotNull(viewModel); Assert.Equal(producerDetailsScheme, viewModel.Producer); }
public async void GetConfirmRemoval_ReturnsHttpForbiddenResult_WhenCanRemoveProducerIsFalse() { // Arrange IWeeeClient weeeClient = A.Fake<IWeeeClient>(); ProducersController controller = new ProducersController( A.Dummy<BreadcrumbService>(), A.Dummy<ISearcher<ProducerSearchResult>>(), () => weeeClient, A.Dummy<IWeeeCache>()); A.CallTo(() => weeeClient.SendAsync(A<string>._, A<GetProducerDetailsByRegisteredProducerId>._)) .Returns( new ProducerDetailsScheme { CanRemoveProducer = false }); // Act var result = await controller.ConfirmRemoval(A.Dummy<Guid>()); // Assert Assert.IsType<HttpForbiddenResult>(result); }
public async Task PostConfirmRemoval_WithInvalidModel_ReturnsConfirmRemovalView() { // Arrange ProducersController controller = new ProducersController( A.Dummy<BreadcrumbService>(), A.Dummy<ISearcher<ProducerSearchResult>>(), () => A.Dummy<IWeeeClient>(), A.Dummy<IWeeeCache>()); controller.ModelState.AddModelError("SomeProperty", "Exception"); // Act ActionResult result = await controller.ConfirmRemoval(A.Dummy<Guid>(), A.Dummy<ConfirmRemovalViewModel>()); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.True(string.IsNullOrEmpty(viewResult.ViewName) || viewResult.ViewName.ToLowerInvariant() == "confirmremoval"); }
public async void GetConfirmRemoval_ReturnsConfirmRemovalView_WhenCanRemoveProducerIsTrue() { // Arrange IWeeeClient weeeClient = A.Fake<IWeeeClient>(); ProducersController controller = new ProducersController( A.Dummy<BreadcrumbService>(), A.Dummy<ISearcher<ProducerSearchResult>>(), () => weeeClient, A.Dummy<IWeeeCache>()); A.CallTo(() => weeeClient.SendAsync(A<string>._, A<GetProducerDetailsByRegisteredProducerId>._)) .Returns( new ProducerDetailsScheme { CanRemoveProducer = true }); // Act ActionResult result = await controller.ConfirmRemoval(A.Dummy<Guid>()); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.True(string.IsNullOrEmpty(viewResult.ViewName) || viewResult.ViewName.ToLowerInvariant() == "confirmremoval"); }