Пример #1
0
        public async Task PutCheckinReturnsCorrectJsonWhenUsersSignedUpIsNotNullAndCheckinDateTimeIsNull()
        {
            const string userId = "userId";

            var campaignEvent = new Event {
                Name = "EventName", Description = "EventDescription"
            };
            var eventSignup = new EventSignup {
                User = new ApplicationUser {
                    Id = userId
                }
            };

            campaignEvent.UsersSignedUp.Add(eventSignup);

            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.Send(It.IsAny <EventByIdQuery>())).Returns(campaignEvent);

            var sut = new EventApiController(mediator.Object);

            sut.SetFakeUser(userId);

            var expected = $"{{ Event = {{ Name = {campaignEvent.Name}, Description = {campaignEvent.Description} }} }}";

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

            Assert.IsType <JsonResult>(result);
            Assert.Equal(expected, result.Value.ToString());
        }
Пример #2
0
        public async Task PutCheckinSendsAddEventSignupCommandAsyncWithCorrectDataWhenUsersSignedUpIsNotNullAndCheckinDateTimeIsNull()
        {
            const string userId = "userId";
            var          utcNow = DateTime.UtcNow;

            var campaignEvent = new Event();
            var eventSignup   = new EventSignup {
                User = new ApplicationUser {
                    Id = userId
                }
            };

            campaignEvent.UsersSignedUp.Add(eventSignup);

            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.Send(It.IsAny <EventByIdQuery>())).Returns(campaignEvent);

            var sut = new EventApiController(mediator.Object)
            {
                DateTimeUtcNow = () => utcNow
            };

            sut.SetFakeUser(userId);
            await sut.PutCheckin(It.IsAny <int>());

            mediator.Verify(x => x.SendAsync(It.Is <AddEventSignupCommandAsync>(y => y.EventSignup == eventSignup)));
            mediator.Verify(x => x.SendAsync(It.Is <AddEventSignupCommandAsync>(y => y.EventSignup.CheckinDateTime == utcNow)));
        }
Пример #3
0
        public async Task UnregisterEventSendsEventSignupByEventIdAndUserIdQueryWithCorrectEventIdAndUserId()
        {
            const int    eventId = 1;
            const string userId  = "1";

            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.Send(It.IsAny <EventSignupByEventIdAndUserIdQuery>()))
            .Returns(new EventSignup {
                Event = new Event(), User = new ApplicationUser()
            });

            var controller = new EventApiController(mediator.Object);

            controller.SetFakeUser(userId);

            await controller.UnregisterEvent(eventId);

            mediator.Verify(x => x.Send(It.Is <EventSignupByEventIdAndUserIdQuery>(y => y.EventId == eventId && y.UserId == userId)));
        }