Esempio n. 1
0
        public async Task test_GetEmployeeById()
        {
            //Assemble
            var options = new DbContextOptionsBuilder <EmployeeContext>()
                          .UseInMemoryDatabase(databaseName: "in-memory-read-db-2")
                          .Options;

            EmployeeEntity employee;

            using (var context = new EmployeeContext(options))
            {
                var writeRepo = new EmployeeWriteOnlyRepository(context);
                //act
                await writeRepo.AddEmployee(new EmployeeEntity()
                {
                    Name = "user2", Department = "dept2"
                });
            }

            using (var context = new EmployeeContext(options))
            {
                var readRepo = new EmployeeReadOnlyRepository(context);
                employee = await readRepo.GetEmployeeById(2);
            }

            //Assert
            Assert.True(employee.Name == "user2");
        }
Esempio n. 2
0
        public async Task test_UpdateEmployee()
        {
            //Assemble
            var options = new DbContextOptionsBuilder <EmployeeContext>()
                          .UseInMemoryDatabase(databaseName: "in-memory-db")
                          .Options;

            bool updateResult;

            using (var context = new EmployeeContext(options))
            {
                var writeRepo = new EmployeeWriteOnlyRepository(context);

                //act
                await writeRepo.AddEmployee(new EmployeeEntity()
                {
                    Name = "user1", Department = "dept1"
                });

                updateResult = await writeRepo.UpdateEmployee(new EmployeeEntity()
                {
                    Id = 1, Name = "user1", Department = "dept2"
                });
            }

            //Assert
            Assert.True(updateResult);
            using (var context = new EmployeeContext(options))
            {
                Assert.True(await context.Employees.AnyAsync(p => p.Department == "dept2"));
            }
        }
Esempio n. 3
0
        public async Task test_GetAllEmployees()
        {
            //Assemble
            var options = new DbContextOptionsBuilder <EmployeeContext>()
                          .UseInMemoryDatabase(databaseName: "in-memory-read-db")
                          .Options;

            IEnumerable <EmployeeEntity> employees;

            using (var context = new EmployeeContext(options))
            {
                var writeRepo = new EmployeeWriteOnlyRepository(context);
                //act
                await writeRepo.AddEmployee(new EmployeeEntity()
                {
                    Name = "user1", Department = "dept1"
                });
            }

            using (var context = new EmployeeContext(options))
            {
                var readRepo = new EmployeeReadOnlyRepository(context);
                employees = await readRepo.GetAllEmployees();
            }

            //Assert
            Assert.True(employees.Count() == 1);
        }