Exemple #1
0
        public void UnregisterActivityHasAuthorizeAttribute()
        {
            var sut       = new ActivityApiController(null);
            var attribute = (AuthorizeAttribute)sut.GetAttributesOn(x => x.UnregisterActivity(It.IsAny <int>())).SingleOrDefault(x => x.GetType() == typeof(AuthorizeAttribute));

            Assert.NotNull(attribute);
        }
Exemple #2
0
        public void RegisterActivityHasValidateAntiForgeryTokenAttribute()
        {
            var sut       = new ActivityApiController(null);
            var attribute = (ValidateAntiForgeryTokenAttribute)sut.GetAttributesOn(x => x.RegisterActivity(It.IsAny <ActivitySignupViewModel>())).SingleOrDefault(x => x.GetType() == typeof(ValidateAntiForgeryTokenAttribute));

            Assert.NotNull(attribute);
        }
Exemple #3
0
        public void GetHasHttpGetAttribute()
        {
            var sut       = new ActivityApiController(null);
            var attribute = sut.GetAttributesOn(x => x.Get()).OfType <HttpGetAttribute>().SingleOrDefault();

            Assert.NotNull(attribute);
        }
Exemple #4
0
        public async Task RegisterActivityReturnsSuccess()
        {
            var sut    = new ActivityApiController(Mock.Of <IMediator>());
            var result = (object)await sut.RegisterActivity(new ActivitySignupViewModel());

            Assert.True(result.ToString().Contains("success"));
        }
Exemple #5
0
        public async Task PutCheckinReturnsCorrectJsonWhenUsersSignedUpIsNotNullAndCheckinDateTimeIsNull()
        {
            const string userId = "userId";

            var activity = new Activity {
                Name = "ActivityName", Description = "ActivityDescription"
            };
            var activitySignup = new ActivitySignup {
                User = new ApplicationUser {
                    Id = userId
                }
            };

            activity.UsersSignedUp.Add(activitySignup);

            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.Send(It.IsAny <ActivityByActivityIdQuery>())).Returns(activity);

            var sut = new ActivityApiController(mediator.Object)
                      .SetFakeUser(userId);

            var expected = $"{{ Activity = {{ Name = {activity.Name}, Description = {activity.Description} }} }}";

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

            Assert.IsType <JsonResult>(result);
            Assert.Equal(expected, result.Value.ToString());
        }
Exemple #6
0
        public async Task RegisterActivityReturnsHttpBadRequetWhenSignupModelIsNull()
        {
            var sut    = new ActivityApiController(null);
            var result = await sut.RegisterActivity(null);

            Assert.IsType <BadRequestResult>(result);
        }
Exemple #7
0
        public async Task PutCheckinReturnsHttpNotFoundWhenUnableToFindActivityByActivityId()
        {
            var sut    = new ActivityApiController(Mock.Of <IMediator>());
            var result = await sut.PutCheckin(It.IsAny <int>());

            Assert.IsType <HttpNotFoundResult>(result);
        }
Exemple #8
0
        public async Task PutCheckinSendsAddActivitySignupCommandAsyncWithCorrectDataWhenUsersSignedUpIsNotNullAndCheckinDateTimeIsNull()
        {
            const string userId = "userId";
            var          utcNow = DateTime.UtcNow;

            var activity       = new Activity();
            var activitySignup = new ActivitySignup {
                User = new ApplicationUser {
                    Id = userId
                }
            };

            activity.UsersSignedUp.Add(activitySignup);

            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.Send(It.IsAny <ActivityByActivityIdQuery>())).Returns(activity);

            var sut = new ActivityApiController(mediator.Object)
            {
                DateTimeUtcNow = () => utcNow
            }
            .SetFakeUser(userId);
            await sut.PutCheckin(It.IsAny <int>());

            mediator.Verify(x => x.SendAsync(It.Is <AddActivitySignupCommandAsync>(y => y.ActivitySignup == activitySignup)));
            mediator.Verify(x => x.SendAsync(It.Is <AddActivitySignupCommandAsync>(y => y.ActivitySignup.CheckinDateTime == utcNow)));
        }
Exemple #9
0
        public void PutCheckinHasHttpPutAttributeWithCorrectTemplate()
        {
            var sut       = new ActivityApiController(null);
            var attribute = (HttpPutAttribute)sut.GetAttributesOn(x => x.PutCheckin(It.IsAny <int>())).SingleOrDefault(x => x.GetType() == typeof(HttpPutAttribute));

            Assert.NotNull(attribute);
            Assert.Equal(attribute.Template, "{id}/checkin");
        }
Exemple #10
0
        public void UnregisterActivityHasHttpDeleteAttributeWithCorrectTemplate()
        {
            var sut       = new ActivityApiController(null);
            var attribute = (HttpDeleteAttribute)sut.GetAttributesOn(x => x.UnregisterActivity(It.IsAny <int>())).SingleOrDefault(x => x.GetType() == typeof(HttpDeleteAttribute));

            Assert.NotNull(attribute);
            Assert.Equal(attribute.Template, "{id}/signup");
        }
Exemple #11
0
        public void RegisterActivityHasHttpPostAttributeWithCorrectTemplate()
        {
            var sut       = new ActivityApiController(null);
            var attribute = (HttpPostAttribute)sut.GetAttributesOn(x => x.RegisterActivity(It.IsAny <ActivitySignupViewModel>())).SingleOrDefault(x => x.GetType() == typeof(HttpPostAttribute));

            Assert.NotNull(attribute);
            Assert.Equal(attribute.Template, "signup");
        }
Exemple #12
0
        public void GetCheckinHasHttpGetAttributeWithCorrectTemplate()
        {
            var sut       = new ActivityApiController(null);
            var attribute = sut.GetAttributesOn(x => x.GetCheckin(It.IsAny <int>())).OfType <HttpGetAttribute>().SingleOrDefault();

            Assert.NotNull(attribute);
            Assert.Equal(attribute.Template, "{id}/checkin");
        }
Exemple #13
0
        public void ControllerHasRouteAtttributeWithTheCorrectRoute()
        {
            var sut       = new ActivityApiController(null);
            var attribute = sut.GetAttributes().OfType <RouteAttribute>().SingleOrDefault();

            Assert.NotNull(attribute);
            Assert.Equal(attribute.Template, "api/activity");
        }
Exemple #14
0
        public void GetActivitiesByLocationHasRouteAttributeWithCorrectRoute()
        {
            var sut       = new ActivityApiController(null);
            var attribute = sut.GetAttributesOn(x => x.GetActivitiesByGeography(It.IsAny <double>(), It.IsAny <double>(), It.IsAny <int>())).OfType <RouteAttribute>().SingleOrDefault();

            Assert.NotNull(attribute);
            Assert.Equal(attribute.Template, "searchbylocation");
        }
Exemple #15
0
        public void ControllerHasProducesAtttributeWithTheCorrectContentType()
        {
            var sut       = new ActivityApiController(null);
            var attribute = sut.GetAttributes().OfType <ProducesAttribute>().SingleOrDefault();

            Assert.NotNull(attribute);
            Assert.Equal(attribute.ContentTypes.Select(x => x.MediaType).First(), "application/json");
        }
Exemple #16
0
        public void GetActivitiesByPostalCodeHasRouteAttributeWithRoute()
        {
            var sut       = new ActivityApiController(null);
            var attribute = sut.GetAttributesOn(x => x.GetActivitiesByPostalCode(It.IsAny <string>(), It.IsAny <int>())).OfType <RouteAttribute>().SingleOrDefault();

            Assert.NotNull(attribute);
            Assert.Equal(attribute.Template, "search");
        }
Exemple #17
0
        private ActivityApiController GetActivityController()
        {
            var allReadyContext    = _serviceProvider.GetService <AllReadyContext>();
            var allReadyDataAccess = new AllReadyDataAccessEF7(allReadyContext);
            var controller         = new ActivityApiController(allReadyDataAccess);

            PopulateData(allReadyContext);
            return(controller);
        }
Exemple #18
0
        public void SendsGetActivitiesWithUnlockedCampaignsQuery()
        {
            var mediator = new Mock <IMediator>();
            var sut      = new ActivityApiController(mediator.Object);

            sut.Get();

            mediator.Verify(x => x.Send(It.IsAny <ActivitiesWithUnlockedCampaignsQuery>()), Times.Once);
        }
Exemple #19
0
        public void GetByIdHasProducesAttributeWithCorrectContentTypes()
        {
            var sut       = new ActivityApiController(null);
            var attribute = sut.GetAttributesOn(x => x.Get(It.IsAny <int>())).OfType <ProducesAttribute>().SingleOrDefault();

            Assert.NotNull(attribute);
            Assert.Equal(attribute.Type, typeof(ActivityViewModel));
            Assert.Equal(attribute.ContentTypes.Select(x => x.MediaType).First(), "application/json");
        }
Exemple #20
0
        public async Task UnregisterActivityReturnsHttpNotFoundWhenUnableToGetActivitySignupByActivitySignupIdAndUserId()
        {
            var controller = new ActivityApiController(Mock.Of <IMediator>());

            controller.SetDefaultHttpContext();

            var result = await controller.UnregisterActivity(It.IsAny <int>());

            Assert.IsType <HttpNotFoundResult>(result);
        }
Exemple #21
0
        public async Task RegisterActivitySendsActivitySignupCommandAsyncWithCorrectData()
        {
            var model    = new ActivitySignupViewModel();
            var mediator = new Mock <IMediator>();

            var sut = new ActivityApiController(mediator.Object);
            await sut.RegisterActivity(model);

            mediator.Verify(x => x.SendAsync(It.Is <ActivitySignupCommand>(command => command.ActivitySignup.Equals(model))));
        }
Exemple #22
0
        public void HandlesInvalidActivityId()
        {
            // Arrange
            ActivityApiController controller = GetActivityController();

            // Act
            int recordId          = -1;
            var activityViewModel = controller.Get(recordId);

            Assert.Null(activityViewModel);
        }
Exemple #23
0
        public void ActivityDoesExist()
        {
            // Arrange
            ActivityApiController controller = GetActivityController();

            // Act
            int recordId          = 1;
            var activityViewModel = controller.Get(recordId);

            Assert.NotNull(activityViewModel);
        }
Exemple #24
0
        public void GetAllActivities()
        {
            // Arrange
            ActivityApiController controller = GetActivityController();

            // Act
            var activities = new List <ActivityViewModel>(controller.Get());

            // Assert
            Assert.Equal(activitiesAdded, activities.Count());
        }
Exemple #25
0
        public void GetActivitiesByGeographyReturnsCorrectViewModel()
        {
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.Send(It.IsAny <ActivitiesByGeographyQuery>())).Returns(new List <Activity>());

            var sut    = new ActivityApiController(mediator.Object);
            var result = sut.GetActivitiesByGeography(It.IsAny <double>(), It.IsAny <double>(), It.IsAny <int>());

            Assert.IsType <List <ActivityViewModel> >(result);
        }
Exemple #26
0
        public void GetReturnsCorrectModel()
        {
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.Send(It.IsAny <ActivitiesWithUnlockedCampaignsQuery>())).Returns(new List <ActivityViewModel>());

            var sut     = new ActivityApiController(mediator.Object);
            var results = sut.Get();

            Assert.IsType <List <ActivityViewModel> >(results);
        }
Exemple #27
0
        public async Task PutCheckinSendsActivityByActivityIdQueryWithCorrectActivityId()
        {
            const int activityId = 1;

            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.Send(It.IsAny <ActivityByActivityIdQuery>())).Returns(new Activity());

            var sut = new ActivityApiController(mediator.Object);
            await sut.PutCheckin(activityId);

            mediator.Verify(x => x.Send(It.Is <ActivityByActivityIdQuery>(y => y.ActivityId == activityId)), Times.Once);
        }
Exemple #28
0
        public void GetByIdReturnsCorrectViewModel()
        {
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.Send(It.IsAny <ActivityByActivityIdQuery>())).Returns(new Activity {
                Campaign = new Campaign {
                    ManagingOrganization = new Organization()
                }
            });
            var sut    = new ActivityApiController(mediator.Object);
            var result = sut.Get(It.IsAny <int>());

            Assert.IsType <ActivityViewModel>(result);
        }
Exemple #29
0
        public void GetCheckinReturnsTheCorrectView()
        {
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.Send(It.IsAny <ActivityByActivityIdQuery>())).Returns(new Activity {
                Campaign = new Campaign {
                    ManagingOrganization = new Organization()
                }
            });

            var sut    = new ActivityApiController(mediator.Object);
            var result = (ViewResult)sut.GetCheckin(It.IsAny <int>());

            Assert.Equal("NoUserCheckin", result.ViewName);
        }
Exemple #30
0
        public void GetActivitiesByPostalCodeSendsAcitivitiesByPostalCodeQueryWithCorrectPostalCodeAndDistance()
        {
            const string zip   = "zip";
            const int    miles = 100;

            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.Send(It.IsAny <AcitivitiesByPostalCodeQuery>())).Returns(new List <Activity>());

            var sut = new ActivityApiController(mediator.Object);

            sut.GetActivitiesByPostalCode(zip, miles);

            mediator.Verify(x => x.Send(It.Is <AcitivitiesByPostalCodeQuery>(y => y.PostalCode == zip && y.Distance == miles)));
        }