public async Task ConfirmRemoveRequestRetrunsCorrectViewAndViewModel() { const int orgId = 1; var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<OrganizationIdQuery>())).ReturnsAsync(orgId); mediator.Setup(x => x.SendAsync(It.IsAny<RequestSummaryQuery>())).ReturnsAsync(new RequestSummaryViewModel()); var sut = new ItineraryController(mediator.Object, null); sut.MakeUserAnOrgAdmin(orgId.ToString()); var result = await sut.ConfirmRemoveRequest(It.IsAny<int>(), It.IsAny<Guid>()) as ViewResult; var resultViewModel = result.ViewData.Model as RequestSummaryViewModel; Assert.Equal(result.ViewName, "ConfirmRemoveRequest"); Assert.IsType<RequestSummaryViewModel>(resultViewModel); }
public async Task ConfirmRemoveRequestAssignsCorrectTitleOnViewModel() { const int orgId = 1; var requestId = Guid.NewGuid(); var viewModel = new RequestSummaryViewModel { Name = "ViewModelName" }; var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<OrganizationIdQuery>())).ReturnsAsync(orgId); mediator.Setup(x => x.SendAsync(It.IsAny<RequestSummaryQuery>())).ReturnsAsync(viewModel); var sut = new ItineraryController(mediator.Object, null); sut.MakeUserAnOrgAdmin(orgId.ToString()); var result = await sut.ConfirmRemoveRequest(It.IsAny<int>(), requestId) as ViewResult; var resultViewModel = result.ViewData.Model as RequestSummaryViewModel; Assert.Equal(resultViewModel.Title, $"Remove request: {viewModel.Name}"); }
public async Task ConfirmRemoveRequestSetsUserIsOrgAdminToTrue_WhenUserIsOrgAdmin() { const int orgId = 1; var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<OrganizationIdQuery>())).ReturnsAsync(orgId); mediator.Setup(x => x.SendAsync(It.IsAny<RequestSummaryQuery>())).ReturnsAsync(new RequestSummaryViewModel()); var sut = new ItineraryController(mediator.Object, null); sut.MakeUserAnOrgAdmin(orgId.ToString()); var result = await sut.ConfirmRemoveRequest(It.IsAny<int>(), It.IsAny<Guid>()) as ViewResult; var resultViewModel = result.ViewData.Model as RequestSummaryViewModel; Assert.True(resultViewModel.UserIsOrgAdmin); }
public async Task ConfirmRemoveRequestSendsRequestSummaryQueryWithCorrectRequestId() { const int orgId = 1; var requestId = Guid.NewGuid(); var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<OrganizationIdQuery>())).ReturnsAsync(orgId); var sut = new ItineraryController(mediator.Object, null); sut.MakeUserAnOrgAdmin(orgId.ToString()); await sut.ConfirmRemoveRequest(It.IsAny<int>(), requestId); mediator.Verify(x => x.SendAsync(It.Is<RequestSummaryQuery>(y => y.RequestId == requestId))); }
public async Task ConfirmRemoveRequestReturnsNotFoundResult_WhenViewModelIsNull() { const int orgId = 1; var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<OrganizationIdQuery>())).ReturnsAsync(orgId); var sut = new ItineraryController(mediator.Object, null); sut.MakeUserAnOrgAdmin(orgId.ToString()); var result = await sut.ConfirmRemoveRequest(It.IsAny<int>(), It.IsAny<Guid>()); Assert.IsType<NotFoundResult>(result); }
public async Task ConfirmRemoveRequestReturnsUnauthorizedResult_WhenUserIsNotOrgAdmin() { var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<OrganizationIdQuery>())).ReturnsAsync(1); var sut = new ItineraryController(mediator.Object, null); sut.MakeUserNotAnOrgAdmin(); var result = await sut.ConfirmRemoveRequest(It.IsAny<int>(), It.IsAny<Guid>()); Assert.IsType<UnauthorizedResult>(result); }
public async Task ConfirmRemoveRequestReturnsUnauthorizedResult_WhenOrgIdIsZero() { const int orgId = 0; var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<OrganizationIdQuery>())).ReturnsAsync(orgId); var sut = new ItineraryController(mediator.Object, null); var result = await sut.ConfirmRemoveRequest(It.IsAny<int>(), It.IsAny<Guid>()); Assert.IsType<UnauthorizedResult>(result); }
public async Task ConfirmRemoveRequestSendsOrganizationIdQueryWithCorrectItineraryId() { const int itineraryId = 1; var mediator = new Mock<IMediator>(); var sut = new ItineraryController(mediator.Object, null); await sut.ConfirmRemoveRequest(itineraryId, It.IsAny<Guid>()); mediator.Verify(x => x.SendAsync(It.Is<OrganizationIdQuery>(y => y.ItineraryId == itineraryId)), Times.Once); }