コード例 #1
0
        public async System.Threading.Tasks.Task GetFaculty_NotFound()
        {
            var context = TestingUtilities.CreateInMemoryDatabaseContext("TestDatabaseGetFacultyFailed");
            var data    = new List <Faculty>
            {
                new Faculty()
                {
                    Id = 1
                },
                new Faculty()
                {
                    Id = 2
                }
            };

            context.Faculties.AddRange(data);
            context.SaveChanges();
            var controller = new FacultiesController(context);
            //Act
            var result = await controller.GetFaculty(id : 3);

            //Assert
            Assert.IsType <NotFoundResult>(result.Result);
            Assert.Null(result.Value);
        }
コード例 #2
0
        public async System.Threading.Tasks.Task GetFacultySuccesfull()
        {
            var context = TestingUtilities.CreateInMemoryDatabaseContext("TestDatabaseGetFaculty");
            var data    = new List <Faculty>
            {
                new Faculty()
                {
                    Id = 1
                },
                new Faculty()
                {
                    Id = 2
                }
            };

            context.Faculties.AddRange(data);
            context.SaveChanges();
            var controller = new FacultiesController(context);
            //Act
            var result = await controller.GetFaculty(id : 1);

            var resValue = result.Value;

            //Assert
            Assert.Equal(data[0], resValue);
        }
        public void Add([Frozen] Mock <IReviewRepository> reviewRepository, [Frozen] Mock <IFacultyRepository> facultyRepository, [Frozen] Mock <IUniversityRepository> universityRepository)
        {
            var sut = new FacultiesController(facultyRepository.Object, universityRepository.Object, reviewRepository.Object);

            // Act
            ViewResult result = sut.Add(15) as ViewResult;

            // Assert
            Assert.NotNull(result);
        }
コード例 #4
0
        public async System.Threading.Tasks.Task TestDeleteFaculty_NotFound_OnEmptySet()
        {
            //Arrange
            var context    = TestingUtilities.CreateInMemoryDatabaseContext("DeleteFacultySuccefull");
            var controller = new FacultiesController(context);
            //Act
            var result = await controller.DeleteFaculty(44);

            //Assert
            Assert.IsType <NotFoundResult>(result);
            context.Database.EnsureDeleted();
        }
コード例 #5
0
        public async System.Threading.Tasks.Task TeachersSuccefull()
        {
            //Arrange
            var context   = TestingUtilities.CreateInMemoryDatabaseContext("TestDatabaseGetTeachersFaculties");
            var faculties = new List <Faculty>
            {
                new Faculty()
                {
                    Id = 1
                },
                new Faculty()
                {
                    Id = 2
                }
            };

            var teachers = new List <Teacher>
            {
                new Teacher()
                {
                    Id = 1, FacultyId = 1
                },
                new Teacher()
                {
                    Id = 2, FacultyId = 1
                },
                new Teacher()
                {
                    Id = 3, FacultyId = 2
                },
                new Teacher()
                {
                    Id = 4, FacultyId = 3
                },
            };

            context.Faculties.AddRange(faculties);
            context.Teachers.AddRange(teachers);
            context.SaveChanges();
            var controller = new FacultiesController(context);
            //Act
            var result = await controller.Teachers();

            var resAsOk        = result as OkObjectResult;
            var expectedResult = teachers
                                 .GroupBy(entry => entry.FacultyId)
                                 .Select(g => new FacultyTeachersTestClass(g.Key, g.Select(t => new TeacherTestClass(t.Id, t.Name))))
                                 .OrderBy(obj => obj.facultyId);

            //Assert
            Assert.IsType <OkObjectResult>(result);
        }
コード例 #6
0
        public async System.Threading.Tasks.Task TestPostFaculty_Succesfull()
        {
            //Arrange
            var context    = TestingUtilities.CreateInMemoryDatabaseContext("PostFacultySuccefull");
            var testEntity = new Faculty()
            {
                Id = 42
            };
            var controller = new FacultiesController(context);
            //Act
            var result = await controller.PostFaculty(testEntity);

            //Assert
            Assert.IsType <CreatedAtActionResult>(result.Result);
            Assert.Equal(testEntity, context.Faculties.Last());
            context.Database.EnsureDeleted();
        }
コード例 #7
0
        public async System.Threading.Tasks.Task TestDeleteFaculty_NotFound_OnWrongId()
        {
            //Arrange
            var context    = TestingUtilities.CreateInMemoryDatabaseContext("DeleteFacultySuccefull");
            var testEntity = new Faculty()
            {
                Id = 42
            };

            context.Faculties.Add(testEntity);
            context.SaveChanges();
            var controller = new FacultiesController(context);
            //Act
            var result = await controller.DeleteFaculty(44);

            //Assert
            Assert.IsType <NotFoundResult>(result);
            Assert.True(context.Faculties.Contains(testEntity));
            Assert.Equal(1, context.Faculties.Where(x => x.Id == 42).Count());
            context.Database.EnsureDeleted();
        }
コード例 #8
0
        public async System.Threading.Tasks.Task GetFacultiesSuccessfull()
        {
            var context   = TestingUtilities.CreateInMemoryDatabaseContext("TestDatabaseGetFaculties");
            var faculties = new List <Faculty>
            {
                new Faculty()
                {
                    Id = 1
                },
                new Faculty()
                {
                    Id = 2
                }
            };

            var teachers = new List <Teacher>
            {
                new Teacher()
                {
                    Id = 1, FacultyId = 1
                },
                new Teacher()
                {
                    Id = 2, FacultyId = 1
                },
                new Teacher()
                {
                    Id = 3, FacultyId = 2
                },
                new Teacher()
                {
                    Id = 4, FacultyId = 3
                },
            };

            context.Faculties.AddRange(faculties);
            context.Teachers.AddRange(teachers);
            context.SaveChanges();
            var controller  = new FacultiesController(context);
            var groupedList = teachers
                              .GroupBy(entry => entry.FacultyId)
                              .Select(g => new
            {
                FacultyId = g.Key,
                Teachers  = g.Select(t => new { Id = t.Id, Name = t.Name, Surname = t.Surname })
            })
                              .OrderBy(obj => obj.FacultyId)
                              .ToList();

            var expectedResult = faculties
                                 .ToList()
                                 .OrderBy(f => f.Id)
                                 .Select((faculty, index) => {
                return(new
                {
                    Name = faculty.Name,
                    Id = faculty.Id,
                    facultyTeachers = groupedList[index].Teachers.ToList()
                });
            })
                                 .ToList();
            //Act
            var result = await controller.GetFaculties();

            var resAsOk = result as OkObjectResult;

            //Assert
            Assert.IsType <OkObjectResult>(result);
            //Assert.Equal(expectedResult, resAsOk.Value);
        }