public void Setup() { var siteId = Guid.NewGuid(); var pageId = Guid.NewGuid(); var pageName = "Name"; _page = PageFactory.Page(siteId, pageId, pageName); _command = new SetPagePermissions { SiteId = Guid.NewGuid(), Id = pageId, PagePermissions = new List <PagePermission> { new PagePermission { PageId = pageId, RoleId = "1", Type = PermissionType.View } } }; _page.SetPagePermissions(_command); _event = _page.Events.OfType <PagePermissionsSet>().SingleOrDefault(); }
public async Task <IActionResult> SetPermissions([FromBody] SetPagePermissions model) { model.SiteId = SiteId; await Task.Run(() => _commandSender.Send <SetPagePermissions, Page>(model)); return(new NoContentResult()); }
public void SetPagePermissions(SetPagePermissions cmd) { AddEvent(new PagePermissionsSet { SiteId = SiteId, AggregateRootId = Id, PagePermissions = cmd.PagePermissions }); }
public void Should_throw_exception_when_page_is_not_found() { var command = new SetPagePermissions { SiteId = Guid.NewGuid(), Id = Guid.NewGuid() }; var repositoryMock = new Mock <IPageRepository>(); repositoryMock.Setup(x => x.GetById(command.SiteId, command.Id)).Returns((Page)null); var setPagePermissionsHandler = new SetPagePermissionsHandler(repositoryMock.Object); Assert.Throws <Exception>(() => setPagePermissionsHandler.Handle(command)); }
public void Should_update_page() { var command = new SetPagePermissions { SiteId = Guid.NewGuid(), Id = Guid.NewGuid() }; var pageMock = new Mock <Page>(); var repositoryMock = new Mock <IPageRepository>(); repositoryMock.Setup(x => x.GetById(command.SiteId, command.Id)).Returns(pageMock.Object); var setPagePermissionsHandler = new SetPagePermissionsHandler(repositoryMock.Object); setPagePermissionsHandler.Handle(command); repositoryMock.Verify(x => x.Update(It.IsAny <Page>())); }
public IActionResult SetPermissions([FromBody] SetPagePermissions model) { model.SiteId = SiteId; _commandSender.Send<SetPagePermissions, Page>(model); return new NoContentResult(); }
public IActionResult SetPermissions([FromBody] SetPagePermissions model) { model.SiteId = SiteId; _dispatcher.SendAndPublish <SetPagePermissions, Page>(model); return(new NoContentResult()); }