public async System.Threading.Tasks.Task StudentsGetSuccesfull()
        {
            //Arrange
            var context = TestingUtilities.CreateInMemoryDatabaseContext("TestDatabaseGetStudents");
            var data    = new List <Student>
            {
                new Student()
                {
                    Id = 1
                },
                new Student()
                {
                    Id = 2
                },
                new Student()
                {
                    Id = 3
                }
            };

            context.Students.AddRange(data);
            context.SaveChanges();
            var cont = new StudentsController(context);
            //Act
            var result = await cont.GetStudents();

            var resValue  = result.Value;
            var resResult = result.Result;

            //Assert
            Assert.Equal(data, resValue);
            Assert.Null(resResult);
            context.Database.EnsureDeleted();
        }
Пример #2
0
        public async System.Threading.Tasks.Task QuestionnairesByStudentGetSuccesfull()
        {
            var context = TestingUtilities.CreateInMemoryDatabaseContext("TestDatabaseGetQByStudents");
            var q1      = new Questionnaire()
            {
                Id = 3, StudentId = 0, ClassId = 0
            };
            var q2 = new Questionnaire()
            {
                Id = 1, StudentId = 1, ClassId = 0
            };
            var q3 = new Questionnaire()
            {
                Id = 2, StudentId = 1, ClassId = 1
            };
            var correctData = new List <Questionnaire>
            {
                q2, q3
            };

            context.Questionnaires.Add(q1);
            context.Questionnaires.Add(q2);
            context.Questionnaires.Add(q3);
            context.SaveChanges();
            var qController = new QuestionnaireController(context);
            //Act
            var result = await qController.GetQuestionnairesByStudent(new QuestionnaireController.QuestionnaireIdentityArgs {
                ClassId = 0, StudentId = 1
            });

            var resValue = result.Value;

            //Assert
            Assert.Equal(correctData, resValue);
        }
Пример #3
0
        public async System.Threading.Tasks.Task GetClassNotFound()
        {
            var context = TestingUtilities.CreateInMemoryDatabaseContext("TestDatabaseGetClassFailed");
            var data    = new List <Class>
            {
                new Class()
                {
                    Id = 1
                },
                new Class()
                {
                    Id = 2
                }
            };

            context.Classes.AddRange(data);
            context.SaveChanges();
            var controller = new ClassesController(context);
            //Act
            var result = await controller.GetClass(id : 3);

            //Assert
            Assert.IsType <NotFoundResult>(result.Result);
            Assert.Null(result.Value);
        }
        public async System.Threading.Tasks.Task GetAllSubjectsSuccesfull()
        {
            var context = TestingUtilities.CreateInMemoryDatabaseContext("TestDatabaseGetSubjects");
            var data    = new List <Subject>
            {
                new Subject()
                {
                    Id = 1
                },
                new Subject()
                {
                    Id = 2
                }
            };

            context.Subjects.AddRange(data);
            context.SaveChanges();
            var controller = new SubjectsController(context);
            //Act
            var result = await controller.GetSubjects();

            var resValue  = result.Value;
            var resResult = result.Result;

            //Assert
            Assert.Equal(data, resValue);
        }
Пример #5
0
        public async System.Threading.Tasks.Task GetClassSuccesfull()
        {
            var context = TestingUtilities.CreateInMemoryDatabaseContext("TestDatabaseGetClass");
            var data    = new List <Class>
            {
                new Class()
                {
                    Id = 1
                },
                new Class()
                {
                    Id = 2
                }
            };

            context.Classes.AddRange(data);
            context.SaveChanges();
            var controller = new ClassesController(context);
            //Act
            var result = await controller.GetClass(id : 1);

            var resValue = result.Value;

            //Assert
            Assert.Equal(data[0], resValue);
        }
Пример #6
0
        public async System.Threading.Tasks.Task GetTeacherClasses()
        {
            var context = TestingUtilities.CreateInMemoryDatabaseContext("TestDatabaseGetTeacherClasses");
            var data    = new List <Class>
            {
                new Class()
                {
                    Id = 1, TeacherId = 1
                },
                new Class()
                {
                    Id = 2, TeacherId = 1
                },
                new Class()
                {
                    Id = 3, TeacherId = 2
                }
            };

            context.Classes.AddRange(data);
            context.SaveChanges();
            var controller = new ClassesController(context);
            //Act
            var result = await controller.TeacherClasses(Id : 1);

            var resValue = result.Value;

            //Assert
            Assert.Equal(data.Where(x => x.TeacherId == 1), result.Value);
        }
Пример #7
0
        public async System.Threading.Tasks.Task QuestionnaireGetSuccesfull()
        {
            //Arrange
            var context = TestingUtilities.CreateInMemoryDatabaseContext("TestDatabaseGetQ");
            var data    = new List <Questionnaire>
            {
                new Questionnaire()
                {
                    Id = 0, StudentId = 0, ClassId = 0
                },
                new Questionnaire()
                {
                    Id = 1, StudentId = 1, ClassId = 0
                }
            };

            context.Questionnaires.Add(data[0]);
            context.SaveChanges();
            var qController = new QuestionnaireController(context);
            //Act
            var result = await qController.GetQuestionnaire(new QuestionnaireController.QuestionnaireIdentityArgs {
                ClassId = 0, StudentId = 0
            });

            var resValue  = result.Value;
            var resResult = result.Result;

            //Assert
            Assert.Equal(data.First(), resValue);
        }
Пример #8
0
        public async System.Threading.Tasks.Task GetTeacherByIdSuccesfull()
        {
            var context = TestingUtilities.CreateInMemoryDatabaseContext("TestDatabaseGetTeacherById");
            var data    = new List <Teacher>
            {
                new Teacher()
                {
                    Id = 1
                },
                new Teacher()
                {
                    Id = 2
                },
                new Teacher()
                {
                    Id = 3
                }
            };

            context.Teachers.AddRange(data);
            context.SaveChanges();
            var contr = new TeachersController(context);
            //Act
            var result = await contr.Get(1);

            var resValue  = result.Value;
            var resResult = result.Result;

            //Assert
            Assert.Equal(data[0], resValue);
            Assert.Null(resResult);
            context.Database.EnsureDeleted();
        }
Пример #9
0
        public async System.Threading.Tasks.Task TestDeleteClass_NotFound_OnEmptySet()
        {
            //Arrange
            var context    = TestingUtilities.CreateInMemoryDatabaseContext("DeleteClassSuccefull");
            var controller = new ClassesController(context);
            //Act
            var result = await controller.DeleteClass(44);

            //Assert
            Assert.IsType <NotFoundResult>(result);
            context.Database.EnsureDeleted();
        }
        public async System.Threading.Tasks.Task TestPutStudent_BadRequest()
        {
            //Arrange
            var context = TestingUtilities.CreateInMemoryDatabaseContext("TestDatabasePutStudentBadRequest");
            var contr   = new StudentsController(context);
            //Act
            var result = await contr.PutStudent(2, new Student { Id = 1 });

            //Assert
            Assert.IsType <BadRequestResult>(result);
            context.Database.EnsureDeleted();
        }
Пример #11
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);
        }
        public async System.Threading.Tasks.Task StudentsGetByClassSuccesfull()
        {
            //Arrange
            var context = TestingUtilities.CreateInMemoryDatabaseContext("TestDatabaseGetStudentsByClass");
            var qs      = new List <Questionnaire>
            {
                new Questionnaire()
                {
                    StudentId = 1, ClassId = 1
                },
                new Questionnaire()
                {
                    StudentId = 2, ClassId = 1
                },
                new Questionnaire()
                {
                    StudentId = 3, ClassId = 0
                },
            };
            var data = new List <Student>
            {
                new Student()
                {
                    Id = 1
                },
                new Student()
                {
                    Id = 2
                },
                new Student()
                {
                    Id = 3
                }
            };

            context.Questionnaires.AddRange(qs);
            context.Students.AddRange(data);
            context.SaveChanges();
            var cont = new StudentsController(context);
            //Act
            var result = await cont.GetStudentsByClass(new Questionnaire { ClassId = 1, StudentId = 1 });

            var resValue  = result.Value;
            var resResult = result.Result;

            //Assert
            Assert.Equal(data.Where(st => st.Id != 3), resValue);
            context.Database.EnsureDeleted();
        }
Пример #13
0
        public async System.Threading.Tasks.Task TestPostClass_Succesfull()
        {
            //Arrange
            var context    = TestingUtilities.CreateInMemoryDatabaseContext("PostClassSuccefull");
            var testEntity = new Class()
            {
                Id = 42
            };
            var controller = new ClassesController(context);
            //Act
            var result = await controller.PostClass(testEntity);

            //Assert
            Assert.IsType <CreatedAtActionResult>(result.Result);
            Assert.Equal(testEntity, context.Classes.Last());
            context.Database.EnsureDeleted();
        }
Пример #14
0
        public async System.Threading.Tasks.Task QuestionnairePostAlreadyPresent()
        {
            //Arrange
            var context    = TestingUtilities.CreateInMemoryDatabaseContext("PostContext1");
            var testEntity = new Questionnaire()
            {
                Id = 0, StudentId = 0, ClassId = 0
            };

            context.Questionnaires.Add(testEntity);
            context.SaveChanges();

            //mockDbContext.Setup(x => x.Questionnaires).Returns(DbContextMock.GetQueryableMockDbSet(questionnaireList));
            var qController = new QuestionnaireController(context);
            //Act
            var result = await qController.PostQuestionnaire(testEntity);

            //Assert
            Assert.IsType <ConflictResult>(result.Result);
        }
Пример #15
0
        public async System.Threading.Tasks.Task TestDeleteClass_NotFound_OnWrongId()
        {
            //Arrange
            var context    = TestingUtilities.CreateInMemoryDatabaseContext("DeleteClassSuccefull");
            var testEntity = new Class()
            {
                Id = 42
            };

            context.Classes.Add(testEntity);
            context.SaveChanges();
            var controller = new ClassesController(context);
            //Act
            var result = await controller.DeleteClass(44);

            //Assert
            Assert.IsType <NotFoundResult>(result);
            Assert.True(context.Classes.Contains(testEntity));
            Assert.Equal(1, context.Classes.Where(x => x.Id == 42).Count());
            context.Database.EnsureDeleted();
        }
        public async System.Threading.Tasks.Task TestDeleteSubject_Succesfull()
        {
            //Arrange
            var context    = TestingUtilities.CreateInMemoryDatabaseContext("DeleteSubjectSuccefull");
            var testEntity = new Subject()
            {
                Id = 42
            };

            context.Subjects.Add(testEntity);
            context.SaveChanges();
            var controller = new SubjectsController(context);
            //Act
            var result = await controller.DeleteSubject(42);

            //Assert
            Assert.IsType <NoContentResult>(result);
            Assert.False(context.Subjects.Contains(testEntity));
            Assert.Equal(0, context.Subjects.Where(x => x.Id == 42).Count());
            context.Database.EnsureDeleted();
        }
Пример #17
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);
        }