public InvoiceWorkerServiceTest() { _pdfService = new Mock <IPdfGenerateService>(); _logger = new Mock <ILogger>(); _service = new InvoiceWorkerService(_pdfService.Object, _logger.Object); using (StreamReader r = new StreamReader("TestPayload/EventFeed.json")) { _feed = JsonConvert.DeserializeObject <EventFeed>(r.ReadToEnd()); } }
public void Setup() { var logger = new Mock <ILogger>(); var handlerMock = new Mock <HttpMessageHandler>(); var response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(JsonConvert.SerializeObject(FeedDataGenerator.GenerateData(3, 0))), }; handlerMock .Protected() .Setup <Task <HttpResponseMessage> >( "SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .ReturnsAsync(response); var httpClient = new HttpClient(handlerMock.Object); _options = new InvoiceWorkerOptions { FeedUrl = "https://localhost:8080", InvoicesDirectory = GetTestOutputDirectoryName() }; Console.WriteLine($"Writing PDF Files to '{_options.InvoicesDirectory}'"); var eventsRepository = new InvoiceEventsRepository(httpClient, _options, logger.Object); var pdfWriter = new PDFDocumentWriter(logger.Object); // TODO: Mock storage, this won't run in CI/CD like this var storage = new FileSystemStorageRepository(_options); _invoiceWorkerService = new InvoiceWorkerService(eventsRepository, pdfWriter, storage, _options, logger.Object); }
public InvoiceWorkerApp(IInvoiceWorkerService service, ILogger logger, IAppConfiguration config) { _service = service; _logger = logger; _config = config; }