Exemple #1
0
        public async Task TrackedCommandBus_SendCommandAsyncPersistsChangesToContext()
        {
            var command = new FakeCommand();
            var options = SetupContext();

            using (var context = new InfrastructureContext(options))
            {
                var sut = new TrackedCommandBus(
                    Mock.Of <IServiceProvider>(),
                    Mock.Of <IHttpContextAccessor>(),
                    Mock.Of <IMessageSerializer>(),
                    Mock.Of <ILogger>(),
                    context);


                await sut.SendCommandAsync(command);
            }

            using (var context = new InfrastructureContext(options))
            {
                var commandEntity = await context.Commands.FindAsync(command.MessageId);

                Assert.NotNull(commandEntity);
                Assert.Equal(command.MessageId, commandEntity.Id);
            }
        }
Exemple #2
0
        public void TrackedCommandBus_IsAssignableFromICommandBus()
        {
            var options = SetupContext();

            using (var context = new InfrastructureContext(options))
            {
                var sut = new TrackedCommandBus(
                    Mock.Of <IServiceProvider>(),
                    Mock.Of <IHttpContextAccessor>(),
                    Mock.Of <IMessageSerializer>(),
                    Mock.Of <ILogger>(),
                    context);

                Assert.IsAssignableFrom <ICommandBus>(sut);
            }
        }
Exemple #3
0
        public async Task TrackedCommandBus_SendCommandAsyncInvokesSerializeOnIMessageSerializer()
        {
            var command = new FakeCommand();
            var options = SetupContext();

            using (var context = new InfrastructureContext(options))
            {
                var mockSerializer = new Mock <IMessageSerializer>();
                var sut            = new TrackedCommandBus(
                    Mock.Of <IServiceProvider>(),
                    Mock.Of <IHttpContextAccessor>(),
                    mockSerializer.Object,
                    Mock.Of <ILogger>(),
                    context);


                await sut.SendCommandAsync(command);

                mockSerializer.Verify(s => s.Serialize(command));
            }
        }
Exemple #4
0
        public async Task TrackedCommandBus_SendCommandAsyncRetrievesHandlerFromServiceProvider()
        {
            var command             = new FakeCommand();
            var options             = SetupContext();
            var fakeHandler         = Mock.Of <IHandler <FakeCommand> >();
            var mockServiceProvider = new Mock <IServiceProvider>();

            mockServiceProvider.Setup(m => m.GetService(typeof(IHandler <FakeCommand>)))
            .Returns(fakeHandler);

            using (var context = new InfrastructureContext(options))
            {
                var sut = new TrackedCommandBus(
                    Mock.Of <IServiceProvider>(),
                    Mock.Of <IHttpContextAccessor>(),
                    Mock.Of <IMessageSerializer>(),
                    Mock.Of <ILogger>(),
                    context);


                await sut.SendCommandAsync(command);
            }
        }