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