public void given_new_permission_should_be_disabled_after_permission_disabled_event() { //assemble CreateNewPermissionDTO input = new CreateNewPermissionDTO { Name = "test", Description = "test", IsActive = true }; var agg = PermissionAggregate.CreateNewPermission(input); var adminUser = PermissionAggregateMockAggregate.SetupAdminUser(); //apply agg.DisablePermission(adminUser); //assert var changes = agg.GetUncommittedChanges(); Assert.Equal(2, changes.Length); Assert.Collection(changes, (e) => { Assert.IsType <PermissionCreatedEvent>(e); }, (e) => { Assert.IsType <PermissionDisabledEvent>(e); var @event = (PermissionDisabledEvent)e; Assert.False(@event.IsActive); }); Assert.False(agg.IsActive); }
public void given_new_permission_should_be_enabled_after_permission_created_event() { //assemble CreateNewPermissionDTO input = new CreateNewPermissionDTO { Name = "test", Description = "test", IsActive = true }; //apply var agg = PermissionAggregate.CreateNewPermission(input); //assert var changes = agg.GetUncommittedChanges(); Assert.Single(changes); Assert.Collection(changes, (e) => { Assert.IsType <PermissionCreatedEvent>(e); var @event = (PermissionCreatedEvent)e; Assert.True(@event.IsActive); }); Assert.True(agg.IsActive); }
public void given_new_permission_should_have_permission_created_event_with_non_empty_id() { //assemble CreateNewPermissionDTO input = new CreateNewPermissionDTO { Name = "test", Description = "test", IsActive = true }; //apply var agg = PermissionAggregate.CreateNewPermission(input); //assert var changes = agg.GetUncommittedChanges(); Assert.Single(changes); Assert.Collection(changes, (e) => { Assert.IsType <PermissionCreatedEvent>(e); var @event = (PermissionCreatedEvent)e; Assert.Equal("test", @event.Name); Assert.Equal("test", @event.Description); }); Assert.NotEqual(Guid.Empty, agg.Id); Assert.Equal("test", agg.Name); Assert.Equal("test", agg.Description); }
public async Task <PermissionDTO> Handle(CreatePermissionCommand command) { var permAgg = PermissionAggregate.CreateNewPermission(command.Input); await _session.Add(permAgg); await _session.Commit(); return(_mapper.Map <PermissionDTO>(permAgg)); }
public static PermissionAggregate SetupTestPermission() { CreateNewPermissionDTO input = new CreateNewPermissionDTO { Name = "test", Description = "test", IsActive = true }; return(PermissionAggregate.CreateNewPermission(input)); }
public PermissionAggregate SetupTestDisabledPermission() { var createPermisisonDTO = new CreateNewPermissionDTO { Name = "testPermisison", Description = "testDescription", IsActive = false, Image = "testUrl" }; var permAgg = PermissionAggregate.CreateNewPermission(createPermisisonDTO); return(permAgg); }
public void given_new_permission_should_have_correct_values_after_update_permission_event() { //assemble CreateNewPermissionDTO input = new CreateNewPermissionDTO { Name = "test", Description = "test", IsActive = true }; var agg = PermissionAggregate.CreateNewPermission(input); var userAgg = PermissionAggregateMockAggregate.SetupAdminUser(); var updateInfo = new UpdatePermissionInfoDTO { Id = agg.Id, UpdatedById = userAgg.Id, Name = "New Name", Description = "New Description", }; //apply agg.UpdatePermissionInfo(updateInfo); //assert var changes = agg.GetUncommittedChanges(); Assert.Equal(2, changes.Length); Assert.Collection(changes, (e) => { Assert.IsType <PermissionCreatedEvent>(e); }, (e) => { Assert.IsType <PermissionInfoUpdatedEvent>(e); var @event = (PermissionInfoUpdatedEvent)e; Assert.Equal(@event.Name, updateInfo.Name); Assert.Equal(@event.Description, updateInfo.Description); }); Assert.Equal(agg.Name, updateInfo.Name); Assert.Equal(agg.Description, updateInfo.Description); }
public PermissionTemplateProjection SetupTestPermissionTemplate() { var createPermisisonDTO = new CreateNewPermissionDTO { Name = "testPermisison", Description = "testDescription", IsActive = true, Image = "testUrl" }; var permAgg = PermissionAggregate.CreateNewPermission(createPermisisonDTO); var permissionTemplate = new PermissionTemplateProjection { Id = new Guid(), Name = "testName", TemplatePermissions = JsonConvert.SerializeObject(new Dictionary <Guid, string> { { permAgg.Id, permAgg.Name } }) }; return(permissionTemplate); }