public async Task DownloadOrderCsv_NotFound()
        {
            // ARRANGE
            var fileServiceMock = new Mock <ICsvFileService>(MockBehavior.Default);

            fileServiceMock
            .Setup(m => m.DownloadCsv(It.IsAny <Uri>()))
            .ReturnsAsync(() => {
                var list = new List <CsvOrderLine>
                {
                    new CsvOrderLine()
                    {
                        Country    = "",
                        CustomerId = 1,
                        Name       = "",
                        Price      = 1,
                        Product    = "Jas",
                        Weight     = 1
                    }
                };
                return(list);
            });
            ICommandAsync cmd = new PrintOrdersCommand(fileServiceMock.Object);

            // ACT
            await cmd.Execute();

            // ASSERT
            fileServiceMock.Verify(m => m.DownloadCsv(It.IsAny <Uri>()), Times.Once());
        }
Ejemplo n.º 2
0
        static async Task <int> Main(string[] args)
        {
            Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;

            var tw = new TextWriterTraceListener(Console.Out);

            tw.TraceOutputOptions |= TraceOptions.None;
            Trace.Listeners.Add(tw);
            Trace.AutoFlush = true;
            Trace.Indent();

            // Setup
            var httpClient = new HttpClient();

            using CsvFileService fileService = new CsvFileService(httpClient);
            var app = new CommandLineApplication
            {
                Name        = "TW ING Coding Challenge",
                Description = "The TeamWildenberg console app for the different assignments in the ING Coding Challenge"
            };

            app.HelpOption("-?|-h|--help");
            var versionOption = app.Option("-v|--version", "Check which version we are running", CommandOptionType.NoValue);

            app.OnExecute(() =>
            {
                return(0);
            });
            app.Execute(args);

            ICommandAsync cmd = null;

            if (versionOption.HasValue())
            {
                cmd = new AssemblyVersionCommand();
            }
            else
            {
                cmd = new PrintOrdersCommand(fileService);
            }

            return(await cmd.Execute().ConfigureAwait(false));
        }