Loading StockAdvisory.Tests/csv/mar15_three_entries.csv 0 → 100644 +0 −0 Empty file added. StockAdvisoryWebApi.Tests/StockWebApiTests.cs +34 −0 Original line number Diff line number Diff line using System; using System.IO; using System.Linq; using System.Net.Http.Json; using System.Threading; using System.Threading.Tasks; using JustEat.HttpClientInterception; Loading @@ -11,6 +12,7 @@ using NUnit.Framework; using StockAdvisory; using NodaTime; using NodaTime.Testing; using StockAdvisoryWebApi.dto; namespace StockAdvisoryWebApi.Tests; Loading Loading @@ -106,4 +108,36 @@ public class StockWebApiTests var content = response.Content.ReadAsStringAsync().Result; Assert.True(content.Length != 0); } [Test] public async Task Test_WhenTwoDatesArePassed_Then_TwoDaysAreCompared() { var client = _factory.CreateClient(); var stockParser = new StockParser(); var analyzer = new StockDifferenceAnalyzerFactory() .CreateAnalyzer( stockParser.Parse("filesystem/2022-03-31-20_48_00.csv"), stockParser.Parse("filesystem/2022-04-11-13_01_00.csv") ); var expected = new StockDifferences { AddedStocks = analyzer.AddedStocks(), RemovedStocks = analyzer.RemovedStocks(), DifferentStocks = analyzer.ChangedPositions() }; var parameters = $"date1=2022-04-11T13:01:00.000Z&date2=2022-03-31T20:48:00.000Z"; var response = await client.GetAsync($"/StockAdvisory?{parameters}"); Assert.True(response.IsSuccessStatusCode); var returned = await response.Content.ReadFromJsonAsync<StockDifferences>(); Assert.NotNull(returned); CollectionAssert.AreEqual(expected.AddedStocks, returned.AddedStocks); CollectionAssert.AreEqual(expected.RemovedStocks, returned.RemovedStocks); CollectionAssert.AreEqual(expected.DifferentStocks, returned.DifferentStocks); } } No newline at end of file Loading
StockAdvisoryWebApi.Tests/StockWebApiTests.cs +34 −0 Original line number Diff line number Diff line using System; using System.IO; using System.Linq; using System.Net.Http.Json; using System.Threading; using System.Threading.Tasks; using JustEat.HttpClientInterception; Loading @@ -11,6 +12,7 @@ using NUnit.Framework; using StockAdvisory; using NodaTime; using NodaTime.Testing; using StockAdvisoryWebApi.dto; namespace StockAdvisoryWebApi.Tests; Loading Loading @@ -106,4 +108,36 @@ public class StockWebApiTests var content = response.Content.ReadAsStringAsync().Result; Assert.True(content.Length != 0); } [Test] public async Task Test_WhenTwoDatesArePassed_Then_TwoDaysAreCompared() { var client = _factory.CreateClient(); var stockParser = new StockParser(); var analyzer = new StockDifferenceAnalyzerFactory() .CreateAnalyzer( stockParser.Parse("filesystem/2022-03-31-20_48_00.csv"), stockParser.Parse("filesystem/2022-04-11-13_01_00.csv") ); var expected = new StockDifferences { AddedStocks = analyzer.AddedStocks(), RemovedStocks = analyzer.RemovedStocks(), DifferentStocks = analyzer.ChangedPositions() }; var parameters = $"date1=2022-04-11T13:01:00.000Z&date2=2022-03-31T20:48:00.000Z"; var response = await client.GetAsync($"/StockAdvisory?{parameters}"); Assert.True(response.IsSuccessStatusCode); var returned = await response.Content.ReadFromJsonAsync<StockDifferences>(); Assert.NotNull(returned); CollectionAssert.AreEqual(expected.AddedStocks, returned.AddedStocks); CollectionAssert.AreEqual(expected.RemovedStocks, returned.RemovedStocks); CollectionAssert.AreEqual(expected.DifferentStocks, returned.DifferentStocks); } } No newline at end of file