public void TestPostTeam() { // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new TeamController(context, converter, dbm); var dtos = DbContextSeeder.GetSeededTeamDTOs(4).ToList(); var expectedTeams = DbContextSeeder.GetSeededTeams(4).ToList(); //dtos[3].Abbreviation = "test"; //dtos[3].Description = "test"; var actual = controller.PostTeam(dtos[3]); actual.Should().BeEquivalentTo(dtos[3]); var actualCount = context.Team.ToList().Count; Assert.Equal(4, actualCount); context.Team.FirstOrDefault(x => x.TeamID == 4).Should().BeEquivalentTo(expectedTeams[3]); } }
public void TestDeleteTeam() { // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new TeamController(context, converter, dbm); var dtos = DbContextSeeder.GetSeededTeamDTOs( 3 ) .ToList(); controller.DeleteTeam(dtos[2].TeamID); var actualCount = context.Team.ToList().Count; Assert.Equal(2, actualCount); Assert.True(context.Team.FirstOrDefault(x => x.TeamID == 3) == null); Assert.True(context.Team.FirstOrDefault(x => x.TeamID != 3) != null); controller.DeleteTeam(dtos[1].TeamID); actualCount = context.Team.ToList().Count; Assert.Equal(1, actualCount); Assert.True(context.Team.FirstOrDefault(x => x.TeamID == 2) == null); } }
public void TestGetParentChildRelations() { // db is empty using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new ParentChildRelationController(context, converter, dbm); var actual = controller.GetParentChildRelations().ToList().Count; int expected = 0; Assert.Equal(expected, actual); } // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new ParentChildRelationController(context, converter, dbm); var actual = controller.GetParentChildRelations().ToList(); var subprocessDTOs = DbContextSeeder.GetSeededSubprocessDTOs( 3, DbContextSeeder.GetSeededProcessDTOs(3), DbContextSeeder.GetSeededTeamDTOs(3) ).ToList(); var expected = DbContextSeeder.GetSeededParentChildRelationDTOs( 4, new List <SubprocessDTO>() { subprocessDTOs[0], subprocessDTOs[1], subprocessDTOs[2], null }, new List <SubprocessDTO>() { null, subprocessDTOs[0], subprocessDTOs[1], subprocessDTOs[2] } ) .ToList(); Assert.Equal(expected.Count, actual.Count); expected.Should().BeEquivalentTo(actual); } }
public void TestPostEmployeeTeam() { // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new EmployeeTeamController(context, converter, dbm); var dtos = DbContextSeeder.GetSeededEmployeeTeamDTOs( 4, DbContextSeeder.GetSeededEmployeeDTOs( 4, DbContextSeeder.GetSeededAddressDTOs(4), DbContextSeeder.GetSeededRoleDTOs(4) ), DbContextSeeder.GetSeededTeamDTOs(4) ) .ToList(); var expected = DbContextSeeder.GetSeededEmployeeTeams( 4, DbContextSeeder.GetSeededEmployees( 4, DbContextSeeder.GetSeededAddresses(4), DbContextSeeder.GetSeededRoles(4) ), DbContextSeeder.GetSeededTeams(4) ) .ToList(); var expectedID = 1; dtos[3].TeamID = expectedID; dtos[3].EmployeeID = expectedID; expected[3].Team = DbContextSeeder.GetSeededTeams(1)[0]; expected[3].Employee = DbContextSeeder.GetSeededEmployees( 1, DbContextSeeder.GetSeededAddresses(1), DbContextSeeder.GetSeededRoles(1) )[0]; var actual = controller.PostEmployeeTeam(dtos[3]); actual.Should().BeEquivalentTo(dtos[3]); var actualCount = context.EmployeeTeam.ToList().Count; Assert.Equal(4, actualCount); context.EmployeeTeam.FirstOrDefault(x => x.EmployeeTeamID == 4).Should().BeEquivalentTo(expected[3]); } }
public void TestPutTicket() { // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new TicketController(context, converter, dbm); var dtos = DbContextSeeder.GetSeededTicketDTOs( 3, DbContextSeeder.GetSeededStateDTOs(3), DbContextSeeder.GetSeededSubprocessDTOs( 3, DbContextSeeder.GetSeededProcessDTOs(3), DbContextSeeder.GetSeededTeamDTOs(3)) ) .ToList(); var expectedText = "test"; var expectedID = 1; dtos[2].StateID = expectedID; dtos[2].SubprocessID = expectedID; dtos[2].Description = expectedText; dtos[2].Note = expectedText; var actual = controller.PutTicket(3, dtos[2]); actual.Should().BeEquivalentTo(dtos[2]); var actualCount = context.Ticket.ToList().Count; Assert.Equal(3, actualCount); var ticket = context.Ticket .Include(x => x.State) .Include(x => x.Subprocess) .FirstOrDefault(x => x.TicketID == 3); Assert.True(ticket != null); if (ticket != null) { Assert.Equal(ticket.Note, expectedText); Assert.Equal(ticket.Description, expectedText); Assert.Equal(ticket.State.StateID, expectedID); Assert.Equal(ticket.Subprocess.SubprocessID, expectedID); } } }
public void TestDeleteParentChildRelation() { // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new ParentChildRelationController(context, converter, dbm); var subprocessDTOs = DbContextSeeder.GetSeededSubprocessDTOs( 3, DbContextSeeder.GetSeededProcessDTOs(3), DbContextSeeder.GetSeededTeamDTOs(3) ).ToList(); var dtos = DbContextSeeder.GetSeededParentChildRelationDTOs( 4, new List <SubprocessDTO>() { subprocessDTOs[0], subprocessDTOs[1], subprocessDTOs[2], null }, new List <SubprocessDTO>() { null, subprocessDTOs[0], subprocessDTOs[1], subprocessDTOs[2] } ) .ToList(); controller.DeleteParentChildRelation(dtos[3].ParentChildRelationID); var actualCount = context.ParentChildRelation.ToList().Count; Assert.Equal(3, actualCount); Assert.True(context.ParentChildRelation.FirstOrDefault(x => x.ParentChildRelationID == 4) == null); Assert.True(context.ParentChildRelation.FirstOrDefault(x => x.ParentChildRelationID != 4) != null); controller.DeleteParentChildRelation(dtos[2].ParentChildRelationID); actualCount = context.ParentChildRelation.ToList().Count; Assert.Equal(2, actualCount); Assert.True(context.ParentChildRelation.FirstOrDefault(x => x.ParentChildRelationID == 3) == null); Assert.True(context.ParentChildRelation.FirstOrDefault(x => x.ParentChildRelationID != 3) != null); controller.DeleteParentChildRelation(dtos[1].ParentChildRelationID); actualCount = context.ParentChildRelation.ToList().Count; Assert.Equal(1, actualCount); Assert.True(context.ParentChildRelation.FirstOrDefault(x => x.ParentChildRelationID == 2) == null); } }
public void TestGetTicketsByStateID() { // db is empty using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new StateController(context, converter, dbm); var actual = controller.GetTicketsByStateID(1).ToList().Count; int expected = 0; Assert.Equal(expected, actual); } // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new StateController(context, converter, dbm); var expected = DbContextSeeder.GetSeededTicketDTOs( 3, DbContextSeeder.GetSeededStateDTOs(3), DbContextSeeder.GetSeededSubprocessDTOs( 3, DbContextSeeder.GetSeededProcessDTOs(3), DbContextSeeder.GetSeededTeamDTOs(3) ) ) .ToList(); var act1 = controller.GetTicketsByStateID(1).ToList(); var act2 = controller.GetTicketsByStateID(2).ToList(); var act3 = controller.GetTicketsByStateID(3).ToList(); int expectedCount = 1; Assert.Equal(expectedCount, act1.Count); Assert.Equal(expectedCount, act2.Count); Assert.Equal(expectedCount, act3.Count); expected[0].Should().BeEquivalentTo(act1[0]); expected[1].Should().BeEquivalentTo(act2[0]); expected[2].Should().BeEquivalentTo(act3[0]); } }
public void TestPutEmployeeTeam() { // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new EmployeeTeamController(context, converter, dbm); var dtos = DbContextSeeder.GetSeededEmployeeTeamDTOs( 3, DbContextSeeder.GetSeededEmployeeDTOs( 3, DbContextSeeder.GetSeededAddressDTOs(3), DbContextSeeder.GetSeededRoleDTOs(3) ), DbContextSeeder.GetSeededTeamDTOs(3) ) .ToList(); var expectedText = "test"; var expectedID = 1; dtos[2].TeamID = expectedID; dtos[2].EmployeeID = expectedID; var actual = controller.PutEmployeeTeam(3, dtos[2]); actual.Should().BeEquivalentTo(dtos[2]); var actualCount = context.EmployeeTeam.ToList().Count; Assert.Equal(3, actualCount); var actualInDb = context.EmployeeTeam .Include(x => x.Team) .Include(x => x.Employee) .FirstOrDefault(x => x.EmployeeTeamID == 3); Assert.True(actualInDb != null); if (actualInDb != null) { Assert.Equal(actualInDb.Team.TeamID, expectedID); Assert.Equal(actualInDb.Employee.EmployeeID, expectedID); } } }
public void TestGetParentChildRelation() { // db is empty using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new ParentChildRelationController(context, converter, dbm); Assert.Throws <DatabaseEntryNotFoundException>(() => controller.GetParentChildRelation(0)); } // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new ParentChildRelationController(context, converter, dbm); var subprocessDTOs = DbContextSeeder.GetSeededSubprocessDTOs( 3, DbContextSeeder.GetSeededProcessDTOs(3), DbContextSeeder.GetSeededTeamDTOs(3) ).ToList(); var expected = DbContextSeeder.GetSeededParentChildRelationDTOs( 4, new List <SubprocessDTO>() { subprocessDTOs[0], subprocessDTOs[1], subprocessDTOs[2], null }, new List <SubprocessDTO>() { null, subprocessDTOs[0], subprocessDTOs[1], subprocessDTOs[2] } ) .ToList(); expected[0].Should().BeEquivalentTo(controller.GetParentChildRelation(1)); expected[1].Should().BeEquivalentTo(controller.GetParentChildRelation(2)); expected[2].Should().BeEquivalentTo(controller.GetParentChildRelation(3)); expected[3].Should().BeEquivalentTo(controller.GetParentChildRelation(4)); } }
public void TestPutAddress() { // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new AddressController(context, converter, dbm); var dtos = DbContextSeeder.GetSeededAddressDTOs( 3 ) .ToList(); var expectedText = "test"; var expectedID = 1; dtos[2].City = expectedText; dtos[2].Country = expectedText; dtos[2].PostalCode = expectedText; dtos[2].Street = expectedText; dtos[2].StreetNumber = expectedText; var actual = controller.PutAddress(3, dtos[2]); actual.Should().BeEquivalentTo(dtos[2]); var actualCount = context.Address.ToList().Count; Assert.Equal(3, actualCount); var actualInDb = context.Address .FirstOrDefault(x => x.AddressID == 3); Assert.True(actualInDb != null); if (actualInDb != null) { Assert.Equal(actualInDb.City, expectedText); Assert.Equal(actualInDb.Country, expectedText); Assert.Equal(actualInDb.PostalCode, expectedText); Assert.Equal(actualInDb.Street, expectedText); Assert.Equal(actualInDb.StreetNumber, expectedText); } } }
public void TestGetEmployeeTeams() { // db is empty using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new EmployeeTeamController(context, converter, dbm); var actual = controller.GetEmployeeTeams().ToList().Count; int expected = 0; Assert.Equal(expected, actual); } // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new EmployeeTeamController(context, converter, dbm); var actual = controller.GetEmployeeTeams().ToList(); var expected = DbContextSeeder.GetSeededEmployeeTeamDTOs( 3, DbContextSeeder.GetSeededEmployeeDTOs( 3, DbContextSeeder.GetSeededAddressDTOs(3), DbContextSeeder.GetSeededRoleDTOs(3) ), DbContextSeeder.GetSeededTeamDTOs(3) ) .ToList(); Assert.Equal(expected.Count, actual.Count); expected.Should().BeEquivalentTo(actual); } }
public void TestPostEmployee() { // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var hasher = new Hasher(); var controller = new EmployeeController(context, converter, dbm, hasher); var dtos = DbContextSeeder.GetSeededEmployeeDTOs( 4, DbContextSeeder.GetSeededAddressDTOs(4), DbContextSeeder.GetSeededRoleDTOs(4) ) .ToList(); var expected = DbContextSeeder.GetSeededEmployees( 4, DbContextSeeder.GetSeededAddresses(4), DbContextSeeder.GetSeededRoles(4) ) .ToList(); dtos[3].AddressID = 1; dtos[3].RoleID = 1; expected[3].Address = DbContextSeeder.GetSeededAddresses(1)[0]; expected[3].Role = DbContextSeeder.GetSeededRoles(1)[0]; expected[3].Password = "******"; var actual = controller.PostEmployee(dtos[3]); actual.Should().BeEquivalentTo(dtos[3]); var actualCount = context.Employee.ToList().Count; Assert.Equal(4, actualCount); context.Employee.FirstOrDefault(x => x.EmployeeID == 4).Should().BeEquivalentTo(expected[3]); } }
public void TestGetChildrenOfSubprocess() { // db is empty using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new SubprocessController(context, converter, dbm); var actual = controller.GetChildrenOfSubprocess(1).ToList().Count; int expected = 0; Assert.Equal(expected, actual); } // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new SubprocessController(context, converter, dbm); var expected = DbContextSeeder.GetSeededSubprocessDTOs( 3, DbContextSeeder.GetSeededProcessDTOs(3), DbContextSeeder.GetSeededTeamDTOs(3) ) .ToList(); expected[1].Should().BeEquivalentTo(controller.GetChildrenOfSubprocess(1).ToList()[0]); expected[2].Should().BeEquivalentTo(controller.GetChildrenOfSubprocess(2).ToList()[0]); (new List <SubprocessDTO>() { null }) .Should().BeEquivalentTo(controller.GetChildrenOfSubprocess(3).ToList()); } }
public void TestGetTeamsByEmployeeID() { // db is empty using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var hasher = new Hasher(); var controller = new EmployeeController(context, converter, dbm, hasher); var actual = controller.GetTeamsByEmployeeID(1).ToList().Count; int expected = 0; Assert.Equal(expected, actual); } // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var hasher = new Hasher(); var controller = new EmployeeController(context, converter, dbm, hasher); var expected = DbContextSeeder.GetSeededTeamDTOs( 3 ) .ToList(); expected[0].Should().BeEquivalentTo( controller.GetTeamsByEmployeeID(1).ToList()[0]); expected[1].Should().BeEquivalentTo( controller.GetTeamsByEmployeeID(2).ToList()[0]); expected[2].Should().BeEquivalentTo( controller.GetTeamsByEmployeeID(3).ToList()[0]); } }
public void TestPutTeam() { // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new TeamController(context, converter, dbm); var dtos = DbContextSeeder.GetSeededTeamDTOs( 3 ) .ToList(); var expectedText = "test"; var expectedID = 1; dtos[2].Abbreviation = expectedText; dtos[2].Description = expectedText; var actual = controller.PutTeam(3, dtos[2]); actual.Should().BeEquivalentTo(dtos[2]); var actualCount = context.Team.ToList().Count; Assert.Equal(3, actualCount); var team = context.Team .FirstOrDefault(x => x.TeamID == 3); Assert.True(team != null); if (team != null) { Assert.Equal(team.Description, expectedText); Assert.Equal(team.Abbreviation, expectedText); } } }
public void TestGetEmployeeTeam() { // db is empty using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new EmployeeTeamController(context, converter, dbm); Assert.Throws <DatabaseEntryNotFoundException>(() => controller.GetEmployeeTeam(0)); } // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new EmployeeTeamController(context, converter, dbm); var expected = DbContextSeeder.GetSeededEmployeeTeamDTOs( 3, DbContextSeeder.GetSeededEmployeeDTOs( 3, DbContextSeeder.GetSeededAddressDTOs(3), DbContextSeeder.GetSeededRoleDTOs(3) ), DbContextSeeder.GetSeededTeamDTOs(3) ) .ToList(); expected[0].Should().BeEquivalentTo(controller.GetEmployeeTeam(1)); expected[1].Should().BeEquivalentTo(controller.GetEmployeeTeam(2)); expected[2].Should().BeEquivalentTo(controller.GetEmployeeTeam(3)); } }
public void TestPostSubprocess() { // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new SubprocessController(context, converter, dbm); var dtos = DbContextSeeder.GetSeededSubprocessDTOs( 4, DbContextSeeder.GetSeededProcessDTOs(4), DbContextSeeder.GetSeededTeamDTOs(4) ) .ToList(); var expected = DbContextSeeder.GetSeededSubprocesses( 4, DbContextSeeder.GetSeededProcesses(4), DbContextSeeder.GetSeededTeams(4) ) .ToList(); dtos[3].ProcessID = 1; dtos[3].TeamID = 1; expected[3].Process = DbContextSeeder.GetSeededProcesses(1)[0]; expected[3].Team = DbContextSeeder.GetSeededTeams(1)[0]; var actual = controller.PostSubprocess(dtos[3]); actual.Should().BeEquivalentTo(dtos[3]); var actualCount = context.Subprocess.ToList().Count; Assert.Equal(4, actualCount); context.Subprocess.FirstOrDefault(x => x.SubprocessID == 4).Should().BeEquivalentTo(expected[3]); } }
public void TestDeleteEmployee() { // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var hasher = new Hasher(); var controller = new EmployeeController(context, converter, dbm, hasher); var dtos = DbContextSeeder.GetSeededEmployeeDTOs( 3, DbContextSeeder.GetSeededAddressDTOs(3), DbContextSeeder.GetSeededRoleDTOs(3) ) .ToList(); controller.DeleteEmployee(dtos[2].EmployeeID); var actualCount = context.Employee.ToList().Count; Assert.Equal(2, actualCount); Assert.True(context.Employee.FirstOrDefault(x => x.EmployeeID == 3) == null); Assert.True(context.Employee.FirstOrDefault(x => x.EmployeeID != 3) != null); controller.DeleteEmployee(dtos[1].EmployeeID); actualCount = context.Employee.ToList().Count; Assert.Equal(1, actualCount); Assert.True(context.Employee.FirstOrDefault(x => x.EmployeeID == 2) == null); } }
public void TestPostTicket() { // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new TicketController(context, converter, dbm); var dtos = DbContextSeeder.GetSeededTicketDTOs( 4, DbContextSeeder.GetSeededStateDTOs(4), DbContextSeeder.GetSeededSubprocessDTOs( 4, DbContextSeeder.GetSeededProcessDTOs(4), DbContextSeeder.GetSeededTeamDTOs(4)) ) .ToList(); dtos[3].StateID = 1; dtos[3].SubprocessID = 1; var actual = controller.PostTicket(dtos[3]); actual.Should().BeEquivalentTo(dtos[3]); var actualCount = context.Ticket.ToList().Count; Assert.Equal(4, actualCount); Assert.True(context.Ticket.FirstOrDefault(x => x.TicketID == 4) != null); } }
public void TestGetTeamsByUsername() { // db is empty using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var expectedUsername = "******"; var expectedRole = "Admin"; var controller = new TeamController(context, converter, dbm); var user = new ClaimsPrincipal(new ClaimsIdentity( new List <Claim>() { new Claim(ClaimTypes.NameIdentifier, expectedUsername), new Claim(ClaimTypes.Role, expectedRole) })); controller.ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = user } }; Assert.Throws <DatabaseEntryNotFoundException>( () => controller.GetTeamsByUsername(expectedUsername)); } // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var expectedUsername = "******"; var expectedRole = "Admin"; var controller = new TeamController(context, converter, dbm); var user = new ClaimsPrincipal(new ClaimsIdentity( new List <Claim>() { new Claim(ClaimTypes.NameIdentifier, expectedUsername), new Claim(ClaimTypes.Role, expectedRole) })); controller.ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = user } }; // admin var actualAdmin = controller.GetTeamsByUsername(expectedUsername) .ToList(); var expectedAdmin = DbContextSeeder.GetSeededTeamDTOs( 3 ) .Where(x => x.TeamID == 2) .ToList(); Assert.Equal(expectedAdmin.Count, actualAdmin.Count); expectedAdmin.Should().BeEquivalentTo(actualAdmin); // employee expectedUsername = "******"; expectedRole = "Employee"; var user2 = new ClaimsPrincipal(new ClaimsIdentity( new List <Claim>() { new Claim(ClaimTypes.NameIdentifier, expectedUsername), new Claim(ClaimTypes.Role, expectedRole) })); controller.ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = user2 } }; var actualEmployee = controller.GetTeamsByUsername(expectedUsername) .ToList(); var expectedEmployee = DbContextSeeder.GetSeededTeamDTOs( 1 ) .ToList(); Assert.Equal(actualEmployee.Count, expectedEmployee.Count); actualEmployee.Should().BeEquivalentTo(expectedEmployee); } }
public void TestPutEmployee() { // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var hasher = new Hasher(); var controller = new EmployeeController(context, converter, dbm, hasher); var dtos = DbContextSeeder.GetSeededEmployeeDTOs( 3, DbContextSeeder.GetSeededAddressDTOs(3), DbContextSeeder.GetSeededRoleDTOs(3) ) .ToList(); var expectedText = "test"; var expectedID = 1; var expectedDate = DateTime.Parse("01/01/2020"); dtos[2].AddressID = expectedID; dtos[2].DateOfBirth = expectedDate.ToShortDateString(); dtos[2].Email = expectedText; dtos[2].FirstName = expectedText; dtos[2].HireDate = expectedDate.ToShortDateString(); dtos[2].LastName = expectedText; dtos[2].PhoneNumber = expectedText; dtos[2].RoleID = expectedID; dtos[2].Username = expectedText; var actual = controller.PutEmployee(3, dtos[2]); actual.Should().BeEquivalentTo(dtos[2]); var actualCount = context.Employee.ToList().Count; Assert.Equal(3, actualCount); var actualInDb = context.Employee .Include(x => x.Address) .Include(x => x.Role) .FirstOrDefault(x => x.EmployeeID == 3); Assert.True(actualInDb != null); if (actualInDb != null) { Assert.Equal(actualInDb.Address.AddressID, expectedID); Assert.Equal(actualInDb.DateOfBirth, expectedDate); Assert.Equal(actualInDb.Email, expectedText); Assert.Equal(actualInDb.FirstName, expectedText); Assert.Equal(actualInDb.HireDate, expectedDate); Assert.Equal(actualInDb.LastName, expectedText); Assert.Equal(actualInDb.PhoneNumber, expectedText); Assert.Equal(actualInDb.Role.RoleID, expectedID); Assert.Equal(actualInDb.Username, expectedText); } } }
public void TestGetProcessesWithSubprocess() { // db is empty using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new ProcessController(context, converter, dbm); var actual = controller.GetProcessesWithSubprocess(true).ToList().Count; var actual2 = controller.GetProcessesWithSubprocess(false).ToList().Count; int expected = 0; Assert.Equal(expected, actual); Assert.Equal(expected, actual2); } // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new ProcessController(context, converter, dbm); var actual = controller.GetProcessesWithSubprocess(true).ToList(); var actual2 = controller.GetProcessesWithSubprocess(false).ToList().Count; var expected = DbContextSeeder.GetSeededProcessDTOs( 3 ) .ToList(); Assert.Equal(expected.Count, actual.Count); Assert.Equal(0, actual2); expected.Should().BeEquivalentTo(actual); context.Subprocess.First(x => x.SubprocessID == 1).Process = context.Process.First(x => x.ProcessID == 2); context.SaveChanges(); var actual3 = controller.GetProcessesWithSubprocess(true).ToList(); var actual4 = controller.GetProcessesWithSubprocess(false).ToList(); var expected2 = new List <ProcessDTO>() { expected[0] }; expected.RemoveAt(0); Assert.Equal(actual3.Count, expected.Count); Assert.Equal(actual4.Count, expected2.Count); expected.Should().BeEquivalentTo(actual3); expected2.Should().BeEquivalentTo(actual4); } }
public void TestPostParentChildRelation() { // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new ParentChildRelationController(context, converter, dbm); var subprocesses = DbContextSeeder.GetSeededSubprocesses( 4, DbContextSeeder.GetSeededProcesses(4), DbContextSeeder.GetSeededTeams(4) ).ToList(); var expected = DbContextSeeder.GetSeededParentChildRelations( 5, new List <Subprocess>() { subprocesses[0], subprocesses[1], subprocesses[2], null, subprocesses[1] }, new List <Subprocess>() { null, subprocesses[0], subprocesses[1], subprocesses[2], subprocesses[0] } ) .ToList(); var subprocessDTOs = DbContextSeeder.GetSeededSubprocessDTOs( 4, DbContextSeeder.GetSeededProcessDTOs(4), DbContextSeeder.GetSeededTeamDTOs(4) ).ToList(); var dtos = DbContextSeeder.GetSeededParentChildRelationDTOs( 5, new List <SubprocessDTO>() { subprocessDTOs[0], subprocessDTOs[1], subprocessDTOs[2], null, subprocessDTOs[1] }, new List <SubprocessDTO>() { null, subprocessDTOs[0], subprocessDTOs[1], subprocessDTOs[2], subprocessDTOs[0] } ) .ToList(); //dtos[3]. = "test"; //dtos[3].Description = "test"; var actual = controller.PostParentChildRelation(dtos[4]); actual.Should().BeEquivalentTo(dtos[4]); var actualCount = context.ParentChildRelation.ToList().Count; Assert.Equal(5, actualCount); context.ParentChildRelation.FirstOrDefault(x => x.ParentChildRelationID == 5).Should().BeEquivalentTo(expected[4]); } }
public void TestPutParentChildRelation() { // seeding DB using (var context = new ProTickDatabaseContext(dbOptions)) { DbContextSeeder.SeedFull(context); } // db is Test-Ready using (var context = new ProTickDatabaseContext(dbOptions)) { var dbm = new DatabaseQueryManager(context); var converter = new ResourceDTOConverter(dbm); var controller = new ParentChildRelationController(context, converter, dbm); var subprocessDTOs = DbContextSeeder.GetSeededSubprocessDTOs( 3, DbContextSeeder.GetSeededProcessDTOs(3), DbContextSeeder.GetSeededTeamDTOs(3) ).ToList(); var dtos = DbContextSeeder.GetSeededParentChildRelationDTOs( 4, new List <SubprocessDTO>() { subprocessDTOs[0], subprocessDTOs[1], subprocessDTOs[2], null }, new List <SubprocessDTO>() { null, subprocessDTOs[0], subprocessDTOs[1], subprocessDTOs[2] } ) .ToList(); var expectedParent = 1; var expectedChild = 2; dtos[2].ParentID = expectedParent; dtos[2].ChildID = expectedChild; var actual = controller.PutParentChildRelation(3, dtos[2]); actual.Should().BeEquivalentTo(dtos[2]); var actualCount = context.ParentChildRelation.ToList().Count; Assert.Equal(4, actualCount); var actualInDb = context.ParentChildRelation .Include(x => x.Parent) .Include(x => x.Child) .FirstOrDefault(x => x.ParentChildRelationID == 3); Assert.True(actualInDb != null); if (actualInDb != null) { Assert.Equal(actualInDb.Parent.SubprocessID, expectedParent); Assert.Equal(actualInDb.Child.SubprocessID, expectedChild); } } }