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 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))); }