public async void GetEmployeeDepartmentsAsync_ReturnExpectedPageSize() { //Arrange var dbOptions = new DbContextOptionsBuilder <VisitPopDbContext>() .UseInMemoryDatabase(databaseName: $"EmployeeDepartmentDb{Guid.NewGuid()}") .Options; var sieveOptions = Options.Create(new SieveOptions()); var fakeEmployeeDepartmentOne = new FakeEmployeeDepartment { }.Ignore(d => d.Id).Generate(); fakeEmployeeDepartmentOne.Id = 1; var fakeEmployeeDepartmentTwo = new FakeEmployeeDepartment { }.Ignore(d => d.Id).Generate(); fakeEmployeeDepartmentTwo.Id = 2; var fakeEmployeeDepartmentThree = new FakeEmployeeDepartment { }.Ignore(d => d.Id).Generate(); fakeEmployeeDepartmentThree.Id = 3; //Act using (var context = new VisitPopDbContext(dbOptions)) { context.EmployeeDepartments.AddRange(fakeEmployeeDepartmentOne, fakeEmployeeDepartmentTwo, fakeEmployeeDepartmentThree); context.SaveChanges(); var service = new EmployeeDepartmentRepository(context, new SieveProcessor(sieveOptions)); var EmployeeDepartmentRepo = await service.GetEmployeeDepartmentsAsync(new EmployeeDepartmentParametersDto { PageSize = 2 }); //Assert EmployeeDepartmentRepo.Should() .NotBeEmpty() .And.HaveCount(2); EmployeeDepartmentRepo.Should().ContainEquivalentOf(fakeEmployeeDepartmentOne); EmployeeDepartmentRepo.Should().ContainEquivalentOf(fakeEmployeeDepartmentTwo); context.Database.EnsureDeleted(); } }
public async void GetEmployeeDepartmentsAsync_FilterNameListWithExact() { //Arrange var dbOptions = new DbContextOptionsBuilder <VisitPopDbContext>() .UseInMemoryDatabase(databaseName: $"EmployeeDepartmentDb{Guid.NewGuid()}") .Options; var sieveOptions = Options.Create(new SieveOptions()); var fakeEmployeeDepartmentOne = new FakeEmployeeDepartment { }.Generate(); fakeEmployeeDepartmentOne.Name = "alpha"; var fakeEmployeeDepartmentTwo = new FakeEmployeeDepartment { }.Generate(); fakeEmployeeDepartmentTwo.Name = "bravo"; var fakeEmployeeDepartmentThree = new FakeEmployeeDepartment { }.Generate(); fakeEmployeeDepartmentThree.Name = "charlie"; //Act using (var context = new VisitPopDbContext(dbOptions)) { context.EmployeeDepartments.AddRange(fakeEmployeeDepartmentOne, fakeEmployeeDepartmentTwo, fakeEmployeeDepartmentThree); context.SaveChanges(); var service = new EmployeeDepartmentRepository(context, new SieveProcessor(sieveOptions)); var EmployeeDepartmentRepo = await service.GetEmployeeDepartmentsAsync(new EmployeeDepartmentParametersDto { Filters = $"Name == {fakeEmployeeDepartmentTwo.Name}" }); //Assert EmployeeDepartmentRepo.Should() .HaveCount(1); context.Database.EnsureDeleted(); } }
public async void GetEmployeeDepartmentsAsync_ListEmployeeDepartmentIdSortedInDescOrder() { //Arrange var dbOptions = new DbContextOptionsBuilder <VisitPopDbContext>() .UseInMemoryDatabase(databaseName: $"EmployeeDepartmentDb{Guid.NewGuid()}") .Options; var sieveOptions = Options.Create(new SieveOptions()); var fakeEmployeeDepartmentOne = new FakeEmployeeDepartment { }.Generate(); fakeEmployeeDepartmentOne.Id = 2; var fakeEmployeeDepartmentTwo = new FakeEmployeeDepartment { }.Generate(); fakeEmployeeDepartmentTwo.Id = 1; var fakeEmployeeDepartmentThree = new FakeEmployeeDepartment { }.Generate(); fakeEmployeeDepartmentThree.Id = 3; //Act using (var context = new VisitPopDbContext(dbOptions)) { context.EmployeeDepartments.AddRange(fakeEmployeeDepartmentOne, fakeEmployeeDepartmentTwo, fakeEmployeeDepartmentThree); context.SaveChanges(); var service = new EmployeeDepartmentRepository(context, new SieveProcessor(sieveOptions)); var EmployeeDepartmentRepo = await service.GetEmployeeDepartmentsAsync(new EmployeeDepartmentParametersDto { SortOrder = "-Id" }); //Assert EmployeeDepartmentRepo.Should() .ContainInOrder(fakeEmployeeDepartmentThree, fakeEmployeeDepartmentOne, fakeEmployeeDepartmentTwo); context.Database.EnsureDeleted(); } }