Example #1
0
        public async Task MessageAdapter_WhenFileOutputTargetIsSpecified_ShouldCallFileCommandHandler()
        {
            var settingsMock = Substitute.For <ISettings>();
            var message      = _fixture.Create <MessageResponse>();

            var persistenceFactory = new PersistenceCommandFactory();
            var fileHandlerMock    = Substitute.For <ICommandHandler>();

            persistenceFactory.RegisterCommand("file", () => fileHandlerMock);

            settingsMock
            .OutputTarget
            .Returns("file");

            settingsMock
            .FileName
            .Returns("myfile.txt");

            var adapter = new MessageAdapter(settingsMock, persistenceFactory);

            await adapter.WriteReplyAsync(message, CancellationToken.None);

            await fileHandlerMock
            .Received(1)
            .ProcessCommand(Arg.Any <string>());
        }
Example #2
0
 public static IServiceCollection AddDataLayer(this IServiceCollection serviceCollection)
 {
     return(serviceCollection
            .AddSingleton <IMessageAdapter, MessageAdapter>()
            .AddSingleton <FileCommandHandler>()
            .AddSingleton(sp =>
     {
         var commandFactory = new PersistenceCommandFactory();
         commandFactory.RegisterCommand("file", sp.GetService <FileCommandHandler>);
         return commandFactory;
     }));
 }