public async void GetLatest_OnlyGrabsTheSpecifiedNumber() { var database = IntegrationDatabase.CreateBlankDatabase(); using (var context = database.CreateContext()) { DateTime startDate = new DateTime(2015, 5, 1); for (int i = 1; i <= 15; i++) { var comic = new Comic() { ComicNumber = i, ComicType = ComicType.Explosm, ImageSrc = $"http://www.example.com/images/{i}.png", PublishedDate = startDate.AddDays(i).Date }; context.Comics.Add(comic); } await context.SaveChangesAsync(); var repo = new ComicsRepository(context); var recent = repo.GetLatestComics(ComicType.Explosm); Check.That(recent).HasSize(10); } }
public async void GetLastComicGetsNewestOfType() { var database = IntegrationDatabase.CreateBlankDatabase(); using (var context = database.CreateContext()) { context.Comics.Add(new Comic() { ComicType = ComicType.Unknown, PublishedDate = DateTime.Today }); context.Comics.Add(new Comic { ComicType = ComicType.Explosm, ComicNumber = 5, ImageSrc = "http://example.com/test.png", PublishedDate = new DateTime(2015, 11, 12) }); context.Comics.Add(new Comic { ComicType = ComicType.Explosm, ComicNumber = 6, ImageSrc = "http://example.com/test.png", PublishedDate = new DateTime(2015, 11, 13) }); await context.SaveChangesAsync(); var repo = new ComicsRepository(context); var lastComic = repo.GetLastImportedComic(ComicType.Explosm); Check.That(lastComic.ComicType).IsEqualTo(ComicType.Explosm); Check.That(lastComic.ComicNumber).IsEqualTo(6); } }
public async void CanInsertAComic() { var database = IntegrationDatabase.CreateBlankDatabase(); using (var context = database.CreateContext()) { var repo = new ComicsRepository(context); repo.InsertComic(new Comic() { ComicType = ComicType.Explosm, ComicNumber = 1, ImageSrc = "http://www.example.com/example.png", PublishedDate = new DateTime(2015, 5, 17) }); var inserted = await context.Comics.SingleAsync(); Check.That(inserted.ComicType).IsEqualTo(ComicType.Explosm); Check.That(inserted.ComicNumber).IsEqualTo(1); Check.That(inserted.ImageSrc).IsEqualTo("http://www.example.com/example.png"); Check.That(inserted.PublishedDate).IsEqualTo(new DateTime(2015, 5, 17)); Check.That(inserted.ComicId).IsGreaterThan(0); } }
public async void GetLatest_ComicsAreInReverseChronologicalOrder() { var database = IntegrationDatabase.CreateBlankDatabase(); using (var context = database.CreateContext()) { DateTime startDate = new DateTime(2015, 5, 1); for (int i = 0; i < 15; i++) { var comic = new Comic() { ComicNumber = i+1, ComicType = ComicType.Explosm, ImageSrc = $"http://www.example.com/images/{i}.png", PublishedDate = startDate.AddDays(i).Date }; context.Comics.Add(comic); } await context.SaveChangesAsync(); var repo = new ComicsRepository(context); var recent = repo.GetLatestComics(ComicType.Explosm); Check.That(recent.First().PublishedDate).IsEqualTo(new DateTime(2015, 5, 15)); Check.That(recent.Last().PublishedDate).IsEqualTo(new DateTime(2015, 5, 6)); } }