AllReady.Areas.Admin.Controllers.CampaignController.Publish C# (CSharp) Метод

Publish() публичный Метод

public Publish ( int id ) : Task
id int
Результат Task
        public async Task<IActionResult> Publish(int id)
        {
            var viewModel = await _mediator.SendAsync(new PublishViewModelQuery { CampaignId = id });
            if (viewModel == null)
            {
                return NotFound();
            }

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

            viewModel.Title = $"Publish campaign {viewModel.Name}";
            viewModel.UserIsOrgAdmin = true;

            return View(viewModel);
        }

Usage Example

        public async Task PublishReturnsCorrectViewModelWhenUserIsOrgAdmin()
        {
            const int organizationId = 99;
            const int campaignId = 100;

            var mockMediator = new Mock<IMediator>();
            mockMediator.Setup(mock => mock.SendAsync(It.Is<PublishViewModelQuery>(c => c.CampaignId == campaignId))).ReturnsAsync(new PublishViewModel { Id = campaignId, OrganizationId = organizationId });

            var sut = new CampaignController(mockMediator.Object, null);
            sut.MakeUserAnOrgAdmin(organizationId.ToString());

            var view = (ViewResult)await sut.Publish(campaignId);
            var viewModel = (PublishViewModel)view.ViewData.Model;

            Assert.Equal(viewModel.Id, campaignId);
        }
All Usage Examples Of AllReady.Areas.Admin.Controllers.CampaignController::Publish