Exemplo n.º 1
0
        public void CreateGetHasRouteAttributeWithCorrectRoute()
        {
            var sut = EventControllerBuilder.AllNullParamsInstance().Build();

            var routeAttribute = sut.GetAttributesOn(x => x.Create(It.IsAny <int>())).OfType <RouteAttribute>().SingleOrDefault();

            Assert.NotNull(routeAttribute);
            Assert.Equal("Admin/Event/Create/{campaignId}", routeAttribute.Template);
        }
Exemplo n.º 2
0
        public void ShowEventHasAllowAnonymousAttribute()
        {
            var sut = EventControllerBuilder.Instance().Build();

            var attribute = sut
                            .GetAttributesOn(x => x.ShowEvent(0))
                            .OfType <AllowAnonymousAttribute>().FirstOrDefault();

            Assert.NotNull(attribute);
        }
Exemplo n.º 3
0
        public async Task DetailsReturnsNotFoundResult_WhenEventIsNull()
        {
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.IsAny <EventDetailQuery>())).ReturnsAsync((EventDetailViewModel)null);

            var sut = EventControllerBuilder.CommonNullTestParams().WithMediator(mediator.Object).Build();

            Assert.IsType <NotFoundResult>(await sut.Details(It.IsAny <int>()));
        }
Exemplo n.º 4
0
        public async Task SignupRedirectsToCorrectActionWithCorrectRouteValuesWhenViewModelIsNotNull()
        {
            var sut = EventControllerBuilder.Instance().WithMediator().Build();

            var result = await sut.Signup(new EventSignupViewModel()) as RedirectToActionResult;

            Assert.Equal(nameof(EventController.ShowEvent), result.ActionName);
            Assert.Equal(1, result.RouteValues.Count);
            Assert.Equal(0, result.RouteValues["id"]);
        }
Exemplo n.º 5
0
        public void IndexHasHttpGetAttribute()
        {
            var sut = EventControllerBuilder.Instance().Build();

            var attribute = sut
                            .GetAttributesOn(x => x.Index())
                            .OfType <HttpGetAttribute>().FirstOrDefault();

            Assert.NotNull(attribute);
        }
Exemplo n.º 6
0
        public void SignupHasValidateAntiForgeryTokenAttribute()
        {
            var sut = EventControllerBuilder.Instance().Build();

            var attribute = sut
                            .GetAttributesOn(x => x.Signup(null))
                            .OfType <ValidateAntiForgeryTokenAttribute>().FirstOrDefault();

            Assert.NotNull(attribute);
        }
Exemplo n.º 7
0
        public async Task Requests_ReturnsRedirect_WhenStatusDoesNotMatchEnumOptions()
        {
            var mockMediator = new Mock <IMediator>();

            mockMediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableEventQuery>())).ReturnsAsync(new FakeAuthorizableEvent(true, false, false, false));

            var sut = EventControllerBuilder.CommonNullTestParams().WithMediator(mockMediator.Object).Build();

            Assert.IsType <RedirectToActionResult>(await sut.Requests(It.IsAny <int>(), "MadeUp"));
        }
Exemplo n.º 8
0
        public void ChangeStatusHasAuthorizeAttribute()
        {
            var sut = EventControllerBuilder.Instance().Build();

            var attribute = sut
                            .GetAttributesOn(x => x.ChangeStatus(0, 0, string.Empty, TaskStatus.Completed, string.Empty))
                            .OfType <AuthorizeAttribute>().FirstOrDefault();

            Assert.NotNull(attribute);
        }
Exemplo n.º 9
0
        public void SignupHasRouteAttributeWithCorrectRoute()
        {
            var sut = EventControllerBuilder.Instance().Build();

            var attribute = sut
                            .GetAttributesOn(x => x.Signup(null))
                            .OfType <RouteAttribute>().FirstOrDefault();

            Assert.NotNull(attribute);
        }
Exemplo n.º 10
0
        public async Task DeleteConfirmedReturnsForbidResult_WhenUserIsNotAuthorizedToDelete()
        {
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableEventQuery>())).ReturnsAsync(new FakeAuthorizableEvent(true, false, false, false));

            var sut = EventControllerBuilder.CommonNullTestParams().WithMediator(mediator.Object).Build();

            Assert.IsType <ForbidResult>(await sut.DeleteConfirmed(1));
        }
Exemplo n.º 11
0
        public async void EditGetReturnsHttpNotFoundResult_WhenEventIsNull()
        {
            var mediator = new Mock <IMediator>();

            var sut = EventControllerBuilder.CommonNullTestParams().WithMediator(mediator.Object).Build();

            var result = await sut.Edit(It.IsAny <int>());

            Assert.IsType <NotFoundResult>(result);
        }
Exemplo n.º 12
0
        public async Task ChangeStatusRedirectsToCorrectActionWithCorrectRouteValues()
        {
            var builder = EventControllerBuilder.Instance();
            var sut     = builder.WithMediator().Build();

            var result = await sut.ChangeStatus(1, 0, string.Empty, TaskStatus.Completed, string.Empty) as RedirectToActionResult;

            Assert.Equal(nameof(EventController.ShowEvent), result.ActionName);
            Assert.Equal(1, result.RouteValues.Count);
            Assert.Equal(1, result.RouteValues["id"]);
        }
Exemplo n.º 13
0
        public void ChangeStatusHasRouteAttributeWithCorrectRoute()
        {
            var sut = EventControllerBuilder.Instance().Build();

            var attribute = sut
                            .GetAttributesOn(x => x.ChangeStatus(0, 0, string.Empty, TaskStatus.Completed, string.Empty))
                            .OfType <RouteAttribute>().FirstOrDefault();

            Assert.NotNull(attribute);
            Assert.Equal("/Event/ChangeStatus", attribute.Template);
        }
Exemplo n.º 14
0
        public void ShowEventHasRouteAttributeWithCorrectRoute()
        {
            var sut = EventControllerBuilder.Instance().Build();

            var attribute = sut
                            .GetAttributesOn(x => x.ShowEvent(0))
                            .OfType <RouteAttribute>().FirstOrDefault();

            Assert.NotNull(attribute);
            Assert.Equal("[controller]/{id}/", attribute.Template);
        }
Exemplo n.º 15
0
        public async Task CreateGetReturnsForbidResult_WhenUserIsNotAuthorized()
        {
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.IsAny <CampaignSummaryQuery>())).ReturnsAsync(new CampaignSummaryViewModel());
            mediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableCampaignQuery>())).ReturnsAsync(new FakeAuthorizableCampaign(false, false, false, false));

            var sut = EventControllerBuilder.CommonNullTestParams().WithMediator(mediator.Object).Build();

            Assert.IsType <ForbidResult>(await sut.Create(It.IsAny <int>()));
        }
Exemplo n.º 16
0
        public async Task DeleteConfirmed_SendsDeleteEventCommand_WithCorrectEventId_WhenUserIsAuthorized()
        {
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableEventQuery>())).ReturnsAsync(new FakeAuthorizableEvent(true, false, true, false));

            var sut = EventControllerBuilder.CommonNullTestParams().WithMediator(mediator.Object).Build();

            await sut.DeleteConfirmed(1);

            mediator.Verify(x => x.SendAsync(It.Is <DeleteEventCommand>(e => e.EventId == 1)), Times.Once);
        }
Exemplo n.º 17
0
        public async Task SignupSendsAsyncEventSignupCommandWithCorrrectDataWhenViewModelIsNotNull()
        {
            var builder = EventControllerBuilder.Instance();
            var sut     = builder.WithMediator().Build();

            var model = new EventSignupViewModel();
            await sut.Signup(model);

            builder
            .MediatorMock
            .Verify(x => x.SendAsync(It.Is <EventSignupCommand>(y => y.EventSignup == model)));
        }
Exemplo n.º 18
0
        public async Task DetailsReturnsForbidResult_WhenEventIsNotNull_AndUserIsNotAuthorized()
        {
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.IsAny <EventDetailQuery>())).ReturnsAsync(new EventDetailViewModel {
                Id = 1, Name = "Itinerary", OrganizationId = 1
            });
            mediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableEventQuery>())).ReturnsAsync(new FakeAuthorizableEvent(false, false, false, false));

            var sut = EventControllerBuilder.CommonNullTestParams().WithMediator(mediator.Object).Build();

            Assert.IsType <ForbidResult>(await sut.Details(It.IsAny <int>()));
        }
Exemplo n.º 19
0
        public async Task MessageAllVolunteers_ReturnsHttpOkResult_WhenAuthorized()
        {
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableEventQuery>()))
            .ReturnsAsync(new FakeAuthorizableEvent(true, true, true, true));

            var sut = EventControllerBuilder.FullyMockedInstance().WithMediator(mediator.Object).Build();

            var result = await sut.MessageAllVolunteers(new MessageEventVolunteersViewModel());

            result.ShouldBeOfType <OkResult>();
        }
Exemplo n.º 20
0
        public void ShowEventSendsShowEventQueryWithCorrectData()
        {
            var builder = EventControllerBuilder.Instance();
            var sut     = builder.WithMediator().WithUserLogged().Build();

            sut.ShowEvent(1);

            builder
            .MediatorMock
            .Verify(x =>
                    x.Send(It.Is <ShowEventQuery>(y =>
                                                  y.EventId == 1 && y.User == sut.ControllerContext.HttpContext.User)));
        }
Exemplo n.º 21
0
        public async Task Requests_SendsEventRequestsQueryWithTheCorrectEventId()
        {
            const int eventId = 1;

            var mockMediator = new Mock <IMediator>();

            mockMediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableEventQuery>())).ReturnsAsync(new FakeAuthorizableEvent(true, false, false, false));
            mockMediator.Setup(mock => mock.SendAsync(It.IsAny <EventRequestsQuery>())).ReturnsAsync(new EventRequestsViewModel());

            var sut = EventControllerBuilder.CommonNullTestParams().WithMediator(mockMediator.Object).Build();
            await sut.Requests(eventId, null);

            mockMediator.Verify(x => x.SendAsync(It.Is <EventRequestsQuery>(y => y.EventId == eventId)), Times.Once);
        }
Exemplo n.º 22
0
        public void ShowEventReturnsHttpNotFoundResultWhenViewModelIsNull()
        {
            var builder = EventControllerBuilder.Instance();
            var sut     = builder.WithMediator().Build();

            builder
            .MediatorMock
            .Setup(x => x.Send(It.IsAny <ShowEventQuery>()))
            .Returns(() => null);

            var result = sut.ShowEvent(0);

            Assert.True(result is NotFoundResult);
        }
Exemplo n.º 23
0
        public async void EditGetReturnsForbidResult_WhenUserIsNotOrgAdmin()
        {
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.IsAny <EventEditQuery>())).ReturnsAsync(new EventEditViewModel {
                Id = 1, Name = "Itinerary", OrganizationId = 1
            });
            mediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableEventQuery>())).ReturnsAsync(new FakeAuthorizableEvent(false, false, false, false));

            var sut = EventControllerBuilder.CommonNullTestParams().WithMediator(mediator.Object).Build();

            sut.MakeUserNotAnOrgAdmin();
            Assert.IsType <ForbidResult>(await sut.Edit(It.IsAny <int>()));
        }
Exemplo n.º 24
0
        public async Task ChangeStatusSendsTaskStatusChangeCommandAsyncWithCorrectData()
        {
            var builder = EventControllerBuilder.Instance();
            var sut     = builder.WithMediator().Build();

            await sut.ChangeStatus(0, 1, "userId", TaskStatus.Completed, "statusDesc");

            builder
            .MediatorMock
            .Verify(x =>
                    x.SendAsync(It.Is <TaskStatusChangeCommandAsync>(y =>
                                                                     y.TaskId == 1 && y.TaskStatus == TaskStatus.Completed &&
                                                                     y.UserId == "userId" && y.TaskStatusDescription == "statusDesc")));
        }
Exemplo n.º 25
0
        public async Task DeleteGetReturnsNotFoundResult_WhenEventNotFound()
        {
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.IsAny <DeleteQuery>()))
            .ReturnsAsync((DeleteViewModel)null);


            mediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableEventQuery>())).ReturnsAsync(new FakeAuthorizableEvent(true, false, true, false));

            var sut = EventControllerBuilder.CommonNullTestParams().WithMediator(mediator.Object).Build();

            Assert.IsType <NotFoundResult>(await sut.Delete(It.IsAny <int>()));
        }
Exemplo n.º 26
0
        public async Task Requests_SendsRequestListItemsQueryWithCorrectCriteria_WhenNoStatusRouteParamPassed_AndUserAuthorized()
        {
            const int eventId = 1;

            var mockMediator = new Mock <IMediator>();

            mockMediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableEventQuery>())).ReturnsAsync(new FakeAuthorizableEvent(true, false, false, false));
            mockMediator.Setup(mock => mock.SendAsync(It.IsAny <EventRequestsQuery>())).ReturnsAsync(new EventRequestsViewModel());

            var sut = EventControllerBuilder.CommonNullTestParams().WithMediator(mockMediator.Object).Build();

            await sut.Requests(eventId, null);

            mockMediator.Verify(x => x.SendAsync(It.Is <RequestListItemsQuery>(y => y.Criteria.EventId == eventId && y.Criteria.Status == null)), Times.Once);
        }
Exemplo n.º 27
0
        public async Task CreateGetSendsCampaignSummaryQueryWithCorrectCampaignId()
        {
            const int campaignId = 1;

            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.IsAny <CampaignSummaryQuery>())).ReturnsAsync(new CampaignSummaryViewModel());
            mediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableCampaignQuery>())).ReturnsAsync(new FakeAuthorizableCampaign(false, false, false, false));

            var sut = EventControllerBuilder.CommonNullTestParams().WithMediator(mediator.Object).Build();

            await sut.Create(campaignId);

            mediator.Verify(x => x.SendAsync(It.Is <CampaignSummaryQuery>(a => a.CampaignId == campaignId)), Times.Once);
        }
Exemplo n.º 28
0
        public async Task DeleteEventSendsTheCorrectIdToEventEditQuery()
        {
            var mediatorMock     = new Mock <IMediator>();
            var imageServiceMock = new Mock <IImageService>();
            var eventEditViewModelValidatorMock = new Mock <IValidateEventEditViewModels>();

            var sut = EventControllerBuilder.WithSuppliedInstances(imageServiceMock.Object, mediatorMock.Object, eventEditViewModelValidatorMock.Object).Build();

            const int eventId = 2;

            await sut.DeleteEventImage(eventId);

            mediatorMock.Verify(m => m.SendAsync(It.IsAny <EventEditQuery>()), Times.Once);
            mediatorMock.Verify(m => m.SendAsync(It.Is <EventEditQuery>(s => s.EventId == eventId)));
        }
Exemplo n.º 29
0
        public async Task MessageAllVolunteers_ReturnsBadRequestObjectResult_WhenModelStateIsInvalid()
        {
            const string error = "error";

            var sut = EventControllerBuilder.FullyMockedInstance().Build();

            sut.ModelState.AddModelError(error, "error msg");

            var result = await sut.MessageAllVolunteers(new MessageEventVolunteersViewModel());

            var value = result.ShouldBeOfType <BadRequestObjectResult>().Value.ShouldBeOfType <SerializableError>();

            value.Count.ShouldBe(1);
            value.First().Key.ShouldBe(error);
        }
Exemplo n.º 30
0
        public async Task MessageAllVolunteers_SendsAuthorizableEventQuery_WithCorrectEventId()
        {
            const int eventId = 1;

            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableEventQuery>()))
            .ReturnsAsync(new FakeAuthorizableEvent(true, true, true, true));

            var sut = EventControllerBuilder.CommonNullTestParams().WithMediator(mediator.Object).Build();

            await sut.MessageAllVolunteers(new MessageEventVolunteersViewModel { EventId = eventId });

            mediator.Verify(x => x.SendAsync(It.Is <AuthorizableEventQuery>(e => e.EventId == eventId)), Times.Once);
        }
Exemplo n.º 31
0
            public static EventControllerBuilder Instance()
            {
                if (_builder == null)
                    _builder = new EventControllerBuilder();

                return _builder;
            }
Exemplo n.º 32
0
 public static EventControllerBuilder Instance()
 {
     return _builder ?? (_builder = new EventControllerBuilder());
 }