Ejemplo n.º 1
0
        public Task CanSendCommand_WithAsyncHandler_ReturningResult()
        {
            MockCommandResult cmdResult = null;

            return(ContainerFixture.TestAsync(async fixture =>
            {
                var testResult = await fixture.Arrange
                                 .Container(c => c.WithHostCommandConsumer())
                                 .Act.OnServices(async s =>
                {
                    var messagingSrv = s.GetService <IMessagingService>();
                    var cmd = new MockCommand();

                    cmdResult = await messagingSrv.SendAsync(cmd);
                });

                testResult.Assert.Services(s =>
                {
                    cmdResult.Should().NotBeNull();
                    cmdResult.Value.Should().Be("MOCK_VALUE");

                    var consumer = s.GetRequiredService <MockCommandConsumer>();
                    consumer.ExecutedHandlers.Should().HaveCount(1);
                    consumer.ExecutedHandlers.Should().Contain("OnCommand");
                });
            }));
        }
Ejemplo n.º 2
0
            public async Task <MockCommandResult> OnCommand(MockCommand evt)
            {
                AddCalledHandler(nameof(OnCommand));

                var mockResponse = new MockCommandResult();

                await Task.Run(() => {
                    mockResponse.Value = "MOCK_VALUE";
                });

                return(mockResponse);
            }
Ejemplo n.º 3
0
        public async Task Serialize_WithErrorsAsync()
        {
            var errors = new List <CommandError>();

            errors.Add(await CreateFlurlHttpExceptionAsync().ConfigureAwait(false));
            errors.Add(new NotSupportedException());

            var result = new MockCommandResult()
            {
                Result = new MockCommandEntity(),
                Errors = errors
            };

            var json = JsonConvert.SerializeObject(result);

            Assert.NotEmpty(json);
        }
Ejemplo n.º 4
0
        public async Task Deserialize_WithExceptionErrorsAsync()
        {
            var errors = new List <CommandError>();

            errors.Add(await CreateFlurlHttpExceptionAsync().ConfigureAwait(false));
            errors.Add(new NotSupportedException());

            var result1 = new MockCommandResult()
            {
                Result = new MockCommandEntity(),
                Errors = errors
            };

            var json1 = JsonConvert.SerializeObject(result1);

            var result2 = JsonConvert.DeserializeObject <ICommandResult>(json1);

            var json2 = JsonConvert.SerializeObject(result2);

            Assert.Equal(json1, json2);
        }
Ejemplo n.º 5
0
        public Task CommandWithResult_FromAsyncHandler()
        {
            MockCommandResult result = null;

            return(CommandConsumer.Test(
                       async c => {
                c.Build();

                var domainEventSrv = c.Services.Resolve <IMessagingService>();
                var evt = new MockCommand();
                var futureResult = domainEventSrv.PublishAsync(evt);

                result = await futureResult;
            },
                       (IAppContainer c) => {
                result.Should().NotBeNull();
                result.Value.Should().Be("MOCK_VALUE");

                var consumer = c.Services.Resolve <MockCommandConsumer>();
                consumer.ExecutedHandlers.Should().HaveCount(1);
                consumer.ExecutedHandlers.Should().Contain("OnCommand");
            }));
        }