Example #1
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);
            }
        }
Example #2
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);
            }
        }
Example #3
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));
            }
        }
Example #4
0
        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);
                }
            }
        }
Example #5
0
        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]);
            }
        }