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); }
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); }
public void GetHasHttpGetAttribute() { var sut = new ActivityApiController(null); var attribute = sut.GetAttributesOn(x => x.Get()).OfType <HttpGetAttribute>().SingleOrDefault(); Assert.NotNull(attribute); }
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")); }
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()); }
public async Task RegisterActivityReturnsHttpBadRequetWhenSignupModelIsNull() { var sut = new ActivityApiController(null); var result = await sut.RegisterActivity(null); Assert.IsType <BadRequestResult>(result); }
public async Task PutCheckinReturnsHttpNotFoundWhenUnableToFindActivityByActivityId() { var sut = new ActivityApiController(Mock.Of <IMediator>()); var result = await sut.PutCheckin(It.IsAny <int>()); Assert.IsType <HttpNotFoundResult>(result); }
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))); }
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"); }
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"); }
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"); }
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"); }
public void ControllerHasRouteAtttributeWithTheCorrectRoute() { var sut = new ActivityApiController(null); var attribute = sut.GetAttributes().OfType <RouteAttribute>().SingleOrDefault(); Assert.NotNull(attribute); Assert.Equal(attribute.Template, "api/activity"); }
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"); }
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"); }
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"); }
private ActivityApiController GetActivityController() { var allReadyContext = _serviceProvider.GetService <AllReadyContext>(); var allReadyDataAccess = new AllReadyDataAccessEF7(allReadyContext); var controller = new ActivityApiController(allReadyDataAccess); PopulateData(allReadyContext); return(controller); }
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); }
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"); }
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); }
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)))); }
public void HandlesInvalidActivityId() { // Arrange ActivityApiController controller = GetActivityController(); // Act int recordId = -1; var activityViewModel = controller.Get(recordId); Assert.Null(activityViewModel); }
public void ActivityDoesExist() { // Arrange ActivityApiController controller = GetActivityController(); // Act int recordId = 1; var activityViewModel = controller.Get(recordId); Assert.NotNull(activityViewModel); }
public void GetAllActivities() { // Arrange ActivityApiController controller = GetActivityController(); // Act var activities = new List <ActivityViewModel>(controller.Get()); // Assert Assert.Equal(activitiesAdded, activities.Count()); }
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); }
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); }
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); }
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); }
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); }
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))); }