Example #1
0
        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();
            }
        }
Example #2
0
        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();
            }
        }
Example #3
0
        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();
            }
        }