Beispiel #1
0
        public void can_create_valid_ContextAddedToCapabilityDomainEvent_when_given_GeneralDomainEvent()
        {
            // Arrange
            var CapabilityId     = Guid.NewGuid();
            var CapabilityName   = "barbar";
            var CapabilityRootId = "barbar-Skak";
            var ContextId        = Guid.NewGuid();
            var ContextName      = "foo";

            dynamic data = new JObject();

            data.capabilityId     = CapabilityId;
            data.capabilityName   = CapabilityName;
            data.capabilityRootId = CapabilityRootId;
            data.contextId        = ContextId;
            data.contextName      = ContextName;


            var messageId          = Guid.NewGuid();
            var generalDomainEvent = new IntegrationEvent(
                version: "1",
                eventName: "context_added_to_capability",
                xCorrelationId: Guid.NewGuid().ToString(),
                xSender: "",
                payload: data
                );


            // Act
            var contextAddedToCapabilityDomainEvent = new ContextAddedToCapabilityDomainEvent(generalDomainEvent);


            // Assert
            Assert.Equal(CapabilityId, contextAddedToCapabilityDomainEvent.Payload.CapabilityId);
            Assert.Equal(ContextId, contextAddedToCapabilityDomainEvent.Payload.ContextId);
            Assert.Equal(ContextName, contextAddedToCapabilityDomainEvent.Payload.ContextName);
            Assert.Equal(CapabilityName, contextAddedToCapabilityDomainEvent.Payload.CapabilityName);
            Assert.Equal(CapabilityRootId, contextAddedToCapabilityDomainEvent.Payload.CapabilityRootId);
        }
        public async Task Handle_will_SendNotificationToChannel_Ded_AND_SendNotificationToChannel_CapabilityId()
        {
            // Arrange
            var capability = Capability.Create(
                Guid.NewGuid(),
                "",
                "slackChannelId",
                ""
                );
            var slackFacadeSpy           = new SlackFacadeSpy();
            var stubCapabilityRepository = new StubCapabilityRepository();
            await stubCapabilityRepository.Add(capability);

            var slackContextAddedToCapabilityDomainEventHandler = new SlackContextAddedToCapabilityDomainEventHandler(
                stubCapabilityRepository,
                slackFacadeSpy,
                new ExternalEventMetaDataStore()
                );

            var contextAddedToCapabilityDomainEvent = ContextAddedToCapabilityDomainEvent.Create(
                capability.Id,
                "",
                "",
                Guid.NewGuid(),
                ""
                );


            // Act
            await slackContextAddedToCapabilityDomainEventHandler
            .HandleAsync(contextAddedToCapabilityDomainEvent);

            // Assert
            var hardCodedDedChannelId = new SlackChannelIdentifier("GFYE9B99Q");

            Assert.NotEmpty(slackFacadeSpy.ChannelsMessages[hardCodedDedChannelId]);
            Assert.NotEmpty(slackFacadeSpy.ChannelsMessages[capability.SlackChannelId.ToString()]);
        }