示例#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 PutCheckinReturnsHttpNotFoundWhenUnableToFindEventByEventId()
        {
            var sut    = new EventApiController(Mock.Of <IMediator>());
            var result = await sut.PutCheckin(It.IsAny <int>());

            Assert.IsType <HttpNotFoundResult>(result);
        }
示例#4
0
        public async Task PutCheckinSendsEventByEventIdQueryWithCorrectEventId()
        {
            const int eventId = 1;

            var mediator = new Mock <IMediator>();

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

            var sut = new EventApiController(mediator.Object);
            await sut.PutCheckin(eventId);

            mediator.Verify(x => x.Send(It.Is <EventByIdQuery>(y => y.EventId == eventId)), Times.Once);
        }