示例#1
0
 public EmployeeController([FromServices] ProTickDatabaseContext db, [FromServices] IResourceDTOConverter converter, [FromServices] IDatabaseQueryManager dbm, [FromServices] IHasher hasher)
 {
     this.db        = db;
     this.converter = converter;
     this.dbm       = dbm;
     this.hasher    = hasher;
 }
示例#2
0
        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]);
            }
        }
示例#3
0
        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);
            }
        }
示例#4
0
        private static List <Process> SeedProcesses(ProTickDatabaseContext context, int amount)
        {
            var processes = GetSeededProcesses(amount);

            processes.ForEach(x => context.Add(x));
            context.SaveChanges();
            return(processes);
        }
示例#5
0
        private static List <State> SeedStates(ProTickDatabaseContext context, int amount)
        {
            var states = GetSeededStates(amount);

            states.ForEach(x => context.Add(x));
            context.SaveChanges();
            return(states);
        }
示例#6
0
        private static List <EmployeeTeam> SeedEmployeeTeams(ProTickDatabaseContext context, int amount, List <Employee> emps, List <Team> teams)
        {
            var empTeams = GetSeededEmployeeTeams(amount, emps, teams);

            empTeams.ForEach(x => context.Add(x));
            context.SaveChanges();
            return(empTeams);
        }
示例#7
0
        private static List <Team> SeedTeams(ProTickDatabaseContext context, int amount)
        {
            var teams = GetSeededTeams(amount);

            teams.ForEach(x => context.Add(x));
            context.SaveChanges();
            return(teams);
        }
示例#8
0
        private static List <Employee> SeedEmployees(ProTickDatabaseContext context, int amount, List <Address> addresses, List <Role> roles)
        {
            var employees = GetSeededEmployees(amount, addresses, roles);

            employees.ForEach(x => context.Add(x));
            context.SaveChanges();
            return(employees);
        }
示例#9
0
        private static List <Ticket> SeedTickets(ProTickDatabaseContext context, int amount, List <State> states, List <Subprocess> subprocesses)
        {
            var tickets = GetSeededTickets(amount, states, subprocesses);

            tickets.ForEach(x => context.Add(x));
            context.SaveChanges();
            return(tickets);
        }
示例#10
0
        private static List <Subprocess> SeedSubprocesses(ProTickDatabaseContext context, int amount, List <Process> processes, List <Team> teams)
        {
            var subprocesses = GetSeededSubprocesses(amount, processes, teams);

            subprocesses.ForEach(x => context.Add(x));
            context.SaveChanges();
            return(subprocesses);
        }
示例#11
0
        private static List <ParentChildRelation> SeedParentChildRelations(ProTickDatabaseContext context, int amount, List <Subprocess> children, List <Subprocess> parents)
        {
            var parentChildRelations = GetSeededParentChildRelations(amount, children, parents);

            parentChildRelations.ForEach(x => context.Add(x));
            context.SaveChanges();
            return(parentChildRelations);
        }
示例#12
0
 public AddressController([FromServices] ProTickDatabaseContext db,
                          [FromServices] IResourceDTOConverter converter,
                          [FromServices] IDatabaseQueryManager dbm)
 {
     this.db        = db;
     this.converter = converter;
     this.dbm       = dbm;
 }
示例#13
0
        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);
            }
        }
示例#14
0
        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 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]);
            }
        }
示例#16
0
 public void Dispose()
 {
     // removing DB
     using (var context = new ProTickDatabaseContext(dbOptions))
     {
         context.Database.EnsureDeleted();
         context.Dispose();
     }
 }
示例#17
0
        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]);
            }
        }
示例#18
0
        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 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 AuthenticationController(IConfiguration conf,
                                 [FromServices] ProTickDatabaseContext db,
                                 [FromServices] IResourceDTOConverter converter,
                                 [FromServices] IDatabaseQueryManager dbm,
                                 [FromServices] IHasher hasher)
 {
     this.configuration = conf;
     this.db            = db;
     this.converter     = converter;
     this.dbm           = dbm;
     this.hasher        = hasher;
 }
示例#21
0
        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);
                }
            }
        }
示例#22
0
        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 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);
            }
        }
示例#24
0
        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]);
            }
        }
示例#25
0
        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());
            }
        }
示例#26
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);
                }
            }
        }
示例#27
0
        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]);
            }
        }
示例#28
0
        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 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));
            }
        }
示例#30
0
        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);
            }
        }