public async Task PutCheckinReturnsCorrectJsonWhenUsersSignedUpIsNullAndCheckinDateTimeIsNotNull() { const string userId = "userId"; var activity = new Activity { Name = "ActivityName", Description = "ActivityDescription" }; 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 = $"{{ NeedsSignup = True, 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 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 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 async Task PutCheckinReturnsHttpNotFoundWhenUnableToFindActivityByActivityId() { var sut = new ActivityApiController(Mock.Of<IMediator>()); var result = await sut.PutCheckin(It.IsAny<int>()); Assert.IsType<HttpNotFoundResult>(result); }