예제 #1
0
        public virtual void SetUp()
        {
            var options = new DbContextOptionsBuilder <EmployeeDetailsContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            context = new EmployeeDetailsContext(options);
            uow     = new EmployeeUnitOfWork(context);
            logger  = new Mock <ILogger <EmployeeController> >();
            mockUow = new Mock <IEmployeeUnitOfWork>();
            mockUow.Setup(m => m.EmployeeRepository).Returns(uow.EmployeeRepository);
            mockUow.Setup(m => m.TypeDiscountRulesRepository).Returns(uow.TypeDiscountRulesRepository);
            mockUow.Setup(m => m.TypePayrollDetailsRepository).Returns(uow.TypePayrollDetailsRepository);
            sut = new EmployeeController(logger.Object, mockUow.Object);

            uow.TypeDiscountRulesRepository.Add(new TypeDiscountRules()
            {
                discount_type_id = 1,
                discount_rule    = "A",
                discount         = 0.1M
            });
            uow.TypePayrollDetailsRepository.Add(new TypePayrollDetails()
            {
                payroll_type_id             = 1,
                yearly_paychecks            = 20,
                salary_per_paycheck         = 1000,
                employee_yearly_deductions  = 500,
                dependent_yearly_deductions = 200
            });
            uow.Save();
        }
예제 #2
0
        public void Add_writes_to_database()
        {
            _myRepo.Add(_employee1);
            _myRepo.Add(_employee2);
            _myUnitOfWork.Save();

            const int expectedCount = 2;

            using (var context = new EmployeeContext(_options))
            {
                Assert.AreEqual(expectedCount, context.Employees.Count());
            }
        }