Beispiel #1
0
        public async Task InviteDeclinedCallsDeclineEventManagerInviteCommand()
        {
            // Arrange
            var mockMediator = new Mock <IMediator>();

            var mockUserManager = UserManagerMockHelper.CreateUserManagerMock();

            mockUserManager.Setup(mock => mock.GetUserAsync(It.IsAny <ClaimsPrincipal>()))
            .ReturnsAsync(new ApplicationUser {
                Email = "*****@*****.**"
            });

            var sut       = new EventManagerInviteController(mockMediator.Object, mockUserManager.Object);
            var viewModel = new AcceptDeclineEventManagerInviteViewModel
            {
                EventId             = eventId,
                CampaignName        = "My campaign",
                InviteeEmailAddress = "*****@*****.**",
                InviteId            = inviteId
            };

            // Act
            var result = await sut.InviteDeclined(viewModel);

            // Assert
            mockMediator.Verify(x => x.SendAsync(It.IsAny <DeclineEventManagerInviteCommand>()), Times.Once);
        }
        public async Task <IActionResult> InviteDeclined(AcceptDeclineEventManagerInviteViewModel viewModel)
        {
            // User must be the invited user
            var user = await _userManager.GetUserAsync(User);

            if (user?.Email != viewModel.InviteeEmailAddress)
            {
                return(Unauthorized());
            }

            await _mediator.SendAsync(new DeclineEventManagerInviteCommand
            {
                EventManagerInviteId = viewModel.InviteId
            });

            return(View(viewModel));
        }