public void GetEmployeeHoursForAnEmployee_ShouldReturnEmptyListWhenDBIsEmpty() { var dao = new PostgresDataAccessObjectService(dbContext); var coll = dao.GetEmployeeHoursForAnEmployee(0); Assert.Empty(coll); }
public async Task AddEmployeeHours_Fails_WhenAddedAlreadyWithTheSameTimePeriodEndEmployeeId() { await dbContext.Employees.AddAsync(new Employee { Name = "Ola AAA", Email = "*****@*****.**", EmployeeId = 4 }); await dbContext.EmployeeHoursCollection.AddAsync( new EmployeeHours { EmployeeHoursId = 100, Value = 100f, TimePeriod = "02.01.2019_08.01.2019", EmployeeId = 4 }); await dbContext.SaveChangesAsync(); var eh = new EmployeeHours { EmployeeHoursId = 101, Value = 100f, TimePeriod = "02.01.2019_08.01.2019", EmployeeId = 4 }; var dao = new PostgresDataAccessObjectService(dbContext); bool exThrown = false; try { exThrown = true; dao.AddEmployeeHours(eh); } catch (Exception e) { Assert.Equal(typeof(ArgumentException), e.GetType()); Assert.Equal("EmployeeHours with EmployeeId: 4 and TimePeriod 02.01.2019_08.01.2019 already exists", e.Message); } var coll = dao.GetEmployeeHoursForAnEmployee(4); Assert.Single(coll); Assert.True(exThrown); }
public async Task AddEmployeeHours_WhenNotEmptyTable() { await dbContext.Employees.AddAsync(new Employee { Name = "Ola AAA", Email = "*****@*****.**", EmployeeId = 4 }); await dbContext.EmployeeHoursCollection.AddAsync( new EmployeeHours { EmployeeHoursId = 100, Value = 100f, TimePeriod = "02.01.2019_08.01.2019", EmployeeId = 4 }); await dbContext.SaveChangesAsync(); var eh = new EmployeeHours(); eh.EmployeeId = 4; eh.Value = 90; eh.TimePeriod = "02.03.2019_08.03.2019"; var dao = new PostgresDataAccessObjectService(dbContext); dao.AddEmployeeHours(eh); var coll = dao.GetEmployeeHoursForAnEmployee(4); Assert.Equal(2, coll.Count); Assert.Equal(100f, coll[0].Value); Assert.Equal(90f, coll[1].Value); Assert.Equal(100, coll[0].EmployeeHoursId); Assert.Equal(101, coll[1].EmployeeHoursId); }
public async Task GetEmployeeHoursForAnEmployee_ShouldReturnAllEmployeesHoursWhenSomeInDB() { await dbContext.EmployeeHoursCollection.AddAsync( new EmployeeHours { EmployeeHoursId = 100, Value = 100f, TimePeriod = "02.01.2019_08.01.2019", EmployeeId = 0 }); await dbContext.SaveChangesAsync(); var dao = new PostgresDataAccessObjectService(dbContext); var coll = dao.GetEmployeeHoursForAnEmployee(0); Assert.Single(coll); }
public async Task DeleteEmployeeHours_WhenNotExists() { await dbContext.EmployeeHoursCollection.AddAsync( new EmployeeHours { EmployeeHoursId = 101, Value = 100f, TimePeriod = "02.01.2019_08.01.2019", EmployeeId = 4 }); await dbContext.EmployeeHoursCollection.AddAsync( new EmployeeHours { EmployeeHoursId = 102, Value = 100f, TimePeriod = "02.01.2019_08.01.2019", EmployeeId = 4 }); await dbContext.SaveChangesAsync(); var dao = new PostgresDataAccessObjectService(dbContext); var coll = dao.GetEmployeeHoursForAnEmployee(4); Assert.Equal(2, coll.Count); dao.DeleteEmployeeHours(100); coll = dao.GetEmployeeHoursForAnEmployee(4); Assert.Equal(2, coll.Count); }
public async Task AddEmployeeHours_WhenEmptyTable() { await dbContext.Employees.AddAsync(new Employee { Name = "Ola AAA", Email = "*****@*****.**", EmployeeId = 4 }); await dbContext.SaveChangesAsync(); var eh = new EmployeeHours(); eh.EmployeeId = 4; eh.Value = 90; eh.TimePeriod = "02.03.2019_08.03.2019"; var dao = new PostgresDataAccessObjectService(dbContext); dao.AddEmployeeHours(eh); var coll = dao.GetEmployeeHoursForAnEmployee(4); Assert.Single(coll); Assert.Equal(90f, coll[0].Value); // apparently we must start from 1 Assert.Equal(1, coll[0].EmployeeHoursId); }
public async Task AddEmployeeHours_WhenNotEmptyTable_Many() { await dbContext.Employees.AddAsync(new Employee { Name = "Ola AAA", Email = "*****@*****.**", EmployeeId = 4 }); await dbContext.Employees.AddAsync(new Employee { Name = "Ola 2", Email = "*****@*****.**", EmployeeId = 5 }); await dbContext.EmployeeHoursCollection.AddAsync( new EmployeeHours { EmployeeHoursId = 100, Value = 100f, TimePeriod = "02.01.2019_08.01.2019", EmployeeId = 4 }); await dbContext.EmployeeHoursCollection.AddAsync( new EmployeeHours { EmployeeHoursId = 101, Value = 100f, TimePeriod = "02.01.2019_08.01.2019", EmployeeId = 4 }); await dbContext.EmployeeHoursCollection.AddAsync( new EmployeeHours { EmployeeHoursId = 102, Value = 100f, TimePeriod = "02.01.2019_08.01.2019", EmployeeId = 5 }); await dbContext.SaveChangesAsync(); var dao = new PostgresDataAccessObjectService(dbContext); // the EmployeeHoursId is generated anyways dao.AddEmployeeHours( new EmployeeHours { EmployeeHoursId = 100, Value = 100f, TimePeriod = "01.01.2019_02.01.2019", EmployeeId = 4 }); dao.AddEmployeeHours( new EmployeeHours { EmployeeHoursId = 100, Value = 100f, TimePeriod = "09.01.2019_13.01.2019", EmployeeId = 4 }); dao.AddEmployeeHours( new EmployeeHours { EmployeeHoursId = 100, Value = 100f, TimePeriod = "01.01.2019_02.01.2019", EmployeeId = 5 }); var coll = dao.GetEmployeeHoursForAnEmployee(4); Assert.Equal(4, coll.Count); }