public void ShouldHaveCreatedEvent()
        {
            // Arrange
            Guid   expectedId   = Guid.NewGuid();
            string expectedName = "Name";
            string expectedCode = "Code";

            // Act
            Role actual = Role.Create(expectedId, expectedName,
                                      expectedCode);

            // Assert
            Assert.IsTrue(actual != null);
            Assert.IsTrue(actual.Events != null);
            Assert.IsTrue(actual.Events.Count == 1);
            var events = actual.FlushUncommitedEvents();

            Assert.IsTrue(events != null);
            Assert.IsTrue(events.Length == 1);
            Assert.IsTrue(events[0] is RoleCreatedEvent);
            RoleCreatedEvent @event = events[0] as RoleCreatedEvent;

            Assert.IsTrue(@event.EntityId == expectedId);
            Assert.IsTrue(@event.Name == expectedName);
            Assert.IsTrue(@event.Code == expectedCode);
        }
        public Task ExecuteAsync(HookType type, IDomainEntityContext <Role> context, CancellationToken cancellationToken)
        {
            switch (context.EditMode)
            {
            case EditMode.Create:
                context.AddEventAsync(RoleCreatedEvent.Create(_correlationIdProvider.Id, context.Entity.Id, _currentUser.Id), cancellationToken);
                break;

            case EditMode.Update:
                context.AddEventAsync(RoleUpdatedEvent.Create(_correlationIdProvider.Id, context.Entity.Id, _currentUser.Id), cancellationToken);
                break;

            case EditMode.Delete:
                context.AddEventAsync(RoleDeletedEvent.Create(_correlationIdProvider.Id, context.Entity.Id, _currentUser.Id), cancellationToken);
                break;
            }
            return(Task.CompletedTask);
        }
示例#3
0
 private void Apply(RoleCreatedEvent roleCreatedEvent)
 {
     OrganizationKey = roleCreatedEvent.OrganizationKey;
     Name            = roleCreatedEvent.Name;
     RoleType        = roleCreatedEvent.RoleType;
 }