public async Task SendCampaignManagerInviteShouldCreateInvite_WhenUserIsOrgAdminForCampaign() { // Arrange var mockMediator = new Mock <IMediator>(); var campaign = new Campaign() { ManagingOrganizationId = 1 }; mockMediator.Setup(mock => mock.SendAsync(It.IsAny <CampaignByCampaignIdQuery>())).ReturnsAsync(campaign); var sut = new InviteController(mockMediator.Object, new FakeUserManager()); sut.MakeUserAnOrgAdmin(organizationId: "1"); var invite = new InviteViewModel { CampaignId = 1, InviteeEmailAddress = "*****@*****.**", CustomMessage = "test message" }; // Act IActionResult result = await sut.SendCampaignManagerInvite(campaignId, invite); // Assert mockMediator.Verify(x => x.SendAsync(It.Is <CreateCampaignManagerInviteCommand>(c => c.Invite == invite)), Times.Once); }
public async Task SendCampaignManagerInviteReturnsPassesCorrectViewModelToView() { // Arrange var mockMediator = new Mock <IMediator>(); var campaign = new Campaign() { ManagingOrganizationId = 1 }; mockMediator.Setup(mock => mock.SendAsync(It.IsAny <CampaignByCampaignIdQuery>())).ReturnsAsync(campaign); var sut = new InviteController(mockMediator.Object, new FakeUserManager()); sut.MakeUserAnOrgAdmin(organizationId: "1"); // Act IActionResult result = await sut.SendCampaignManagerInvite(campaignId); // Assert ViewResult view = result as ViewResult; var model = Assert.IsType <InviteViewModel>(view.ViewData.Model); Assert.Equal(campaignId, model.CampaignId); Assert.Equal("SendCampaignManagerInvite", model.FormAction); Assert.Equal("Send Campaign Manager Invite", model.Title); }
public async Task SendCampaignManagerInviteShouldNotCreateInvite_WhenViewModelIsNull() { // Arrange var mockMediator = new Mock <IMediator>(); var sut = new InviteController(mockMediator.Object, new FakeUserManager()); // Act IActionResult result = await sut.SendCampaignManagerInvite(campaignId, null); // Assert mockMediator.Verify(x => x.SendAsync(It.IsAny <CreateCampaignManagerInviteCommand>()), Times.Never); }
public async Task SendCampaignManagerInviteReturnsBadRequestResult_WhenViewModelIsNull() { // Arrange var mockMediator = new Mock <IMediator>(); var sut = new InviteController(mockMediator.Object, new FakeUserManager()); // Act IActionResult result = await sut.SendCampaignManagerInvite(campaignId, null); // Assert Assert.IsType <BadRequestResult>(result); }
public async Task SendCampaignManagerInviteSendsCampaignByCampaignIdQueryWithCorrectCampaignId() { // Arrange var mockMediator = new Mock <IMediator>(); var sut = new InviteController(mockMediator.Object, new FakeUserManager()); // Act await sut.SendCampaignManagerInvite(campaignId); // Assert mockMediator.Verify(mock => mock.SendAsync(It.Is <CampaignByCampaignIdQuery>(c => c.CampaignId == campaignId))); }
public async Task SendCampaignManagerInviteShouldNotCreateInvite_WhenModelStateIsNotValid() { // Arrange var mockMediator = new Mock <IMediator>(); var sut = new InviteController(mockMediator.Object, new FakeUserManager()); sut.ModelState.AddModelError("Error", "Message"); // Act var result = await sut.SendCampaignManagerInvite(campaignId, new InviteViewModel()); // Assert mockMediator.Verify(x => x.SendAsync(It.IsAny <CreateCampaignManagerInviteCommand>()), Times.Never); }
public async Task SendEventManagerInviteShouldNotCreateInvite_WhenNoCampaignMatchesId() { // Arrange var mockMediator = new Mock <IMediator>(); mockMediator.Setup(x => x.SendAsync(It.IsAny <EventByEventIdQuery>())).ReturnsAsync(null); var sut = new InviteController(mockMediator.Object, new FakeUserManager()); var invite = new InviteViewModel(); // Act var result = await sut.SendCampaignManagerInvite(eventId, invite); // Assert mockMediator.Verify(x => x.SendAsync(It.IsAny <CreateCampaignManagerInviteCommand>()), Times.Never); }
public async Task SendCampaignManagerInviteReturnsNotFoundResult_WhenNoCampaignMatchesId() { // Arrange var mockMediator = new Mock <IMediator>(); mockMediator.Setup(mock => mock.SendAsync(It.IsAny <CampaignByCampaignIdQuery>())).ReturnsAsync(null); var sut = new InviteController(mockMediator.Object, new FakeUserManager()); // Act IActionResult result = await sut.SendCampaignManagerInvite(campaignId); // Assert Assert.IsType <NotFoundResult>(result); }
public async Task SendCampaignManagerInviteReturnsBadRequestResult_WhenNoCampaignMatchesId() { // Arrange var mockMediator = new Mock <IMediator>(); mockMediator.Setup(x => x.SendAsync(It.IsAny <CampaignByCampaignIdQuery>())).ReturnsAsync(null); var sut = new InviteController(mockMediator.Object, new FakeUserManager()); var invite = new InviteViewModel(); // Act var result = await sut.SendCampaignManagerInvite(campaignId, new InviteViewModel()); // Assert Assert.IsType <BadRequestResult>(result); }
public async Task SendCampaignManagerInviteReturnsSendView_WhenModelStateIsNotValid() { // Arrange var mockMediator = new Mock <IMediator>(); var sut = new InviteController(mockMediator.Object, new FakeUserManager()); sut.ModelState.AddModelError("Error", "Message"); // Act var result = await sut.SendCampaignManagerInvite(campaignId, new InviteViewModel()); // Assert var view = Assert.IsType <ViewResult>(result); Assert.Equal("Send", view.ViewName); }
public async Task SendCampaignManagerInviteReturnsUnauthorizedResult_WhenUserIsNotOrgAdmin() { // Arrange var mockMediator = new Mock <IMediator>(); mockMediator.Setup(mock => mock.SendAsync(It.IsAny <CampaignByCampaignIdQuery>())).ReturnsAsync(new Campaign()); var sut = new InviteController(mockMediator.Object, new FakeUserManager()); sut.MakeUserNotAnOrgAdmin(); // Act IActionResult result = await sut.SendCampaignManagerInvite(campaignId); // Assert Assert.IsType <UnauthorizedResult>(result); }
public async Task SendCampaignManagerInviteShouldNotCreateInvite_WhenUserIsNotOrgAdminForCampaign() { // Arrange var mockMediator = new Mock <IMediator>(); var campaign = new Campaign() { ManagingOrganizationId = 1 }; mockMediator.Setup(mock => mock.SendAsync(It.IsAny <CampaignByCampaignIdQuery>())).ReturnsAsync(campaign); var sut = new InviteController(mockMediator.Object, new FakeUserManager()); sut.MakeUserAnOrgAdmin(organizationId: "2"); var invite = new InviteViewModel(); // Act IActionResult result = await sut.SendCampaignManagerInvite(campaignId, invite); // Assert mockMediator.Verify(x => x.SendAsync(It.IsAny <CreateCampaignManagerInviteCommand>()), Times.Never); }
public async Task SendCampaignManagerInvitePostReturnsUnauthorizedResult_WhenUserIsNotOrgAdminForCampaign() { // Arrange var mockMediator = new Mock <IMediator>(); var campaign = new Campaign() { ManagingOrganizationId = 1 }; mockMediator.Setup(mock => mock.SendAsync(It.IsAny <CampaignByCampaignIdQuery>())).ReturnsAsync(campaign); var sut = new InviteController(mockMediator.Object, new FakeUserManager()); sut.MakeUserAnOrgAdmin(organizationId: "2"); var invite = new InviteViewModel(); // Act IActionResult result = await sut.SendCampaignManagerInvite(campaignId, invite); // Assert Assert.IsType <UnauthorizedResult>(result); }
public async Task SendCampaignManagerInviteReturnsSendView_WhenUserIsOrgAdminForCampaign() { // Arrange var mockMediator = new Mock <IMediator>(); var campaign = new Campaign() { ManagingOrganizationId = 1 }; mockMediator.Setup(mock => mock.SendAsync(It.IsAny <CampaignByCampaignIdQuery>())).ReturnsAsync(campaign); var sut = new InviteController(mockMediator.Object, new FakeUserManager()); sut.MakeUserAnOrgAdmin(organizationId: "1"); // Act IActionResult result = await sut.SendCampaignManagerInvite(campaignId); // Assert Assert.IsType <ViewResult>(result); ViewResult view = result as ViewResult; Assert.Equal(view.ViewName, "Send"); }