예제 #1
0
        public async Task ThrowIfGivenInviteIdDoNotExist()
        {
            var handler       = new RemoveCampaignManagerInviteCommandHandler(Context);
            var inviteCommand = new RemoveCampaignManagerInviteCommand
            {
                InviteId = 233
            };

            try
            {
                await handler.Handle(inviteCommand);
            }
            catch (InvalidOperationException ex)
            {
                ex.Message.ShouldContain("Failed to find invite");
            }
        }
예제 #2
0
        public async Task ShouldBeAbleToRemoveExistingInvite()
        {
            var handler = new RemoveCampaignManagerInviteCommandHandler(Context);

            Context.CampaignManagerInvites.Add(new CampaignManagerInvite
            {
                Id = 233
            });
            Context.SaveChanges();

            var inviteCommand = new RemoveCampaignManagerInviteCommand
            {
                InviteId = 233
            };
            await handler.Handle(inviteCommand);

            Context.CampaignManagerInvites.Count().ShouldBe(0);
        }
예제 #3
0
        public async Task <IActionResult> Cancel(int inviteId)
        {
            var query = new CampaignManagerInviteDetailQuery {
                CampaignManagerInviteId = inviteId
            };
            var viewModel = await _mediator.SendAsync(query);

            if (viewModel == null)
            {
                return(NotFound());
            }

            if (!User.IsOrganizationAdmin(viewModel.OrganizationId))
            {
                return(Unauthorized());
            }

            var cmd = new RemoveCampaignManagerInviteCommand {
                InviteId = inviteId
            };
            await _mediator.SendAsync(cmd);

            return(RedirectToAction("Details", "Campaign", new { area = AreaNames.Admin, id = viewModel.CampaignId }));
        }