public async Task TakeAllModels_ShouldReturnListOfModelsDependingOnPerPage() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options; var repository = new EfDeletableEntityRepository <ApplicationUser>(new ApplicationDbContext(options)); var service = new ModelService.ModelService(repository, null, null, null); for (int i = 0; i < 12; i++) { await this.CreateUserAsync($"pesho{i}@abv.bg", "Pesho", "Peshev", repository); } var perPage = 6; var pagesCount = await service.GetPagesCount(perPage); var takeModels = await service.TakeAllModels <ModelProfileView>(1, perPage); var takeModelsPage2 = await service.TakeAllModels <ModelProfileView>(2, perPage); var modelReturned = takeModels.Count(); var modelReturnedPage2 = takeModelsPage2.Count(); // Page one should return 6 and page 2 should return 6 for overall 12 users in the db; Assert.Equal(6, modelReturned); Assert.Equal(6, modelReturnedPage2); Assert.Equal(2, pagesCount); }
public async Task TakeAllModels_WithNoUsersShouldReturnZero() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options; var repository = new EfDeletableEntityRepository <ApplicationUser>(new ApplicationDbContext(options)); var service = new ModelService.ModelService(repository, null, null, null); var perPage = 6; var pagesCount = await service.GetPagesCount(perPage); var takeModels = await service.TakeAllModels <ModelProfileView>(1, perPage); var modelReturned = takeModels.Count(); Assert.Equal(0, modelReturned); Assert.Equal(0, pagesCount); }