public async Task RequestsSetsCorrectPageTitleOnModel_WhenStatusParamIsSet() { const int orgId = 1; var mockMediator = new Mock<IMediator>(); mockMediator.Setup(mock => mock.SendAsync(It.IsAny<OrganizationIdByEventIdQuery>())).ReturnsAsync(orgId); mockMediator.Setup(mock => mock.SendAsync(It.IsAny<EventRequestsQuery>())).ReturnsAsync(new EventRequestsViewModel()); var sut = new EventController(null, mockMediator.Object, null); sut.MakeUserAnOrgAdmin(orgId.ToString()); var result = await sut.Requests(1, "Assigned") as ViewResult; result.ShouldNotBeNull(); var viewModel = result.Model as EventRequestsViewModel; viewModel.ShouldNotBeNull(); viewModel.PageTitle.ShouldBe("Assigned Requests"); }
public async Task RequestsReturnsRedirect_WhenStatusDoesNotMatchEnumOptions() { const int orgId = 1; var mockMediator = new Mock<IMediator>(); mockMediator.Setup(mock => mock.SendAsync(It.IsAny<OrganizationIdByEventIdQuery>())).ReturnsAsync(orgId); var sut = new EventController(null, mockMediator.Object, null); sut.MakeUserAnOrgAdmin(orgId.ToString()); Assert.IsType<RedirectToActionResult>(await sut.Requests(It.IsAny<int>(), "MadeUp")); }
public async Task RequestsSendsRequestListItemsQueryWithCorrectCriteria_WhenNoStatusRouteParamPassed_AndUserIsOrgAdmin() { const int orgId = 1; const int eventId = 1; var mockMediator = new Mock<IMediator>(); mockMediator.Setup(mock => mock.SendAsync(It.IsAny<OrganizationIdByEventIdQuery>())).ReturnsAsync(orgId); mockMediator.Setup(mock => mock.SendAsync(It.IsAny<EventRequestsQuery>())).ReturnsAsync(new EventRequestsViewModel()); var sut = new EventController(null, mockMediator.Object, null); sut.MakeUserAnOrgAdmin(orgId.ToString()); await sut.Requests(eventId, null); mockMediator.Verify(x => x.SendAsync(It.Is<RequestListItemsQuery>(y => y.Criteria.EventId == eventId && y.Criteria.Status == null)), Times.Once); }
public async Task DeleteGetReturnsCorrectViewModel() { const int organizationId = 1; var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<DeleteQuery>())) .ReturnsAsync(new DeleteViewModel { OrganizationId = organizationId }); var sut = new EventController(null, mediator.Object, null); sut.MakeUserAnOrgAdmin(organizationId.ToString()); var result = (ViewResult) await sut.Delete(It.IsAny<int>()); var resultModel = result.ViewData.Model; Assert.IsType<DeleteViewModel>(resultModel); }
public async Task RequestsSendsOrganizationIdByEventIdQueryWithTheCorrectEventId() { const int eventId = 1; const int organizationId = 1; var mockMediator = new Mock<IMediator>(); mockMediator.Setup(mock => mock.SendAsync(It.IsAny<OrganizationIdByEventIdQuery>())).ReturnsAsync(It.IsAny<int>()); var sut = new EventController(null, mockMediator.Object, null); sut.MakeUserAnOrgAdmin(organizationId.ToString()); await sut.Requests(eventId, null); mockMediator.Verify(x => x.SendAsync(It.Is<OrganizationIdByEventIdQuery>(y => y.EventId == eventId)), Times.Once); }
public async Task DeleteGetSetsTheCorrectTitleOnTheViewModel() { const string eventName = "EventName"; const int organizationId = 1; var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<DeleteQuery>())).ReturnsAsync(new DeleteViewModel { Name = eventName, OrganizationId = organizationId }); var sut = new EventController(null, mediator.Object, null); sut.MakeUserAnOrgAdmin(organizationId.ToString()); var result = await sut.Delete(It.IsAny<int>()) as ViewResult; var resultModel = result.ViewData.Model as DeleteViewModel; Assert.Equal(resultModel.Title, $"Delete event {eventName}"); }
public async Task DeleteGetSetsUserIsOrgAdminToTrueOnTheViewModel_WhenUserIsOrgAdmin() { const int organizationId = 1; var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<DeleteQuery>())).ReturnsAsync(new DeleteViewModel { OrganizationId = organizationId }); var sut = new EventController(null, mediator.Object, null); sut.MakeUserAnOrgAdmin(organizationId.ToString()); var result = await sut.Delete(It.IsAny<int>()) as ViewResult; var resultModel = result.ViewData.Model as DeleteViewModel; Assert.True(resultModel.UserIsOrgAdmin); }
public async Task DeleteEventImageReturnsJsonObjectWithStatusOfNothingToDeleteIfThereWasNoExistingImage() { var mediatorMock = new Mock<IMediator>(); var eventEditViewModel = new EventEditViewModel { OrganizationId = 1 }; mediatorMock.Setup(m => m.SendAsync(It.IsAny<EventEditQuery>())).ReturnsAsync(eventEditViewModel); var imageServiceMock = new Mock<IImageService>(); var eventEditViewModelValidatorMock = new Mock<IValidateEventEditViewModels>(); var sut = new EventController(imageServiceMock.Object, mediatorMock.Object, eventEditViewModelValidatorMock.Object); sut.MakeUserAnOrgAdmin(eventEditViewModel.OrganizationId.ToString()); var result = await sut.DeleteEventImage(It.IsAny<int>()); result.Value.GetType() .GetProperty("status") .GetValue(result.Value) .ShouldBe("NothingToDelete"); }
public async Task DeleteEventImageCallsEditEventCommandWithCorrectData() { var mediatorMock = new Mock<IMediator>(); var eventEditViewModel = new EventEditViewModel { OrganizationId = 1, ImageUrl = "URL!" }; mediatorMock.Setup(m => m.SendAsync(It.IsAny<EventEditQuery>())).ReturnsAsync(eventEditViewModel); var imageServiceMock = new Mock<IImageService>(); var eventEditViewModelValidatorMock = new Mock<IValidateEventEditViewModels>(); var sut = new EventController(imageServiceMock.Object, mediatorMock.Object, eventEditViewModelValidatorMock.Object); sut.MakeUserAnOrgAdmin(eventEditViewModel.OrganizationId.ToString()); await sut.DeleteEventImage(It.IsAny<int>()); mediatorMock.Verify(m => m.SendAsync(It.Is<EditEventCommand>(s => s.Event == eventEditViewModel)), Times.Once); }
public async Task CreateGetReturnsCorrectView_AndCorrectStartAndEndDateOnViewModel() { const int organizationId = 1; var dateTimeTodayDate = DateTime.Today.Date; var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<CampaignSummaryQuery>())) .ReturnsAsync(new CampaignSummaryViewModel { OrganizationId = organizationId }); var sut = new EventController(null, mediator.Object, null) { DateTimeTodayDate = () => dateTimeTodayDate }; sut.MakeUserAnOrgAdmin(organizationId.ToString()); var view = await sut.Create(It.IsAny<int>()) as ViewResult; var viewModel = view.ViewData.Model as EventEditViewModel; Assert.Equal(view.ViewName, "Edit"); Assert.Equal(viewModel.StartDateTime, dateTimeTodayDate); Assert.Equal(viewModel.EndDateTime, dateTimeTodayDate); }