Пример #1
0
        public void AddAssignmentShouldThrowIfInvalidCourse()
        {
            var contextOptions = new DbContextOptionsBuilder <AcademySiteContext>()
                                 .UseInMemoryDatabase(databaseName: "RetrieveCoursesByStudentThrowWhenIdInvalid")
                                 .Options;

            var name      = "TestHomework";
            var courseId  = 1;
            var teacherId = 1;
            var dateDue   = DateTime.Now;

            using (var context = new AcademySiteContext(contextOptions))
            {
                var courseService = new CourseService(context);

                Assert.ThrowsExceptionAsync <ArgumentException>(async() => await courseService.AddAssignment(courseId, teacherId, 100, name, dateDue));
            }
        }
Пример #2
0
        public async Task AddAssignmentShouldAddAssignmentIfCorrectParameters()
        {
            var contextOptions = new DbContextOptionsBuilder <AcademySiteContext>()
                                 .UseInMemoryDatabase(databaseName: "AddAssignmentShouldAddAssignmentIfCorrectParameters")
                                 .Options;

            string name      = "Test Assignment";
            var    courseId  = 1;
            var    teacherId = 1;
            var    dateDue   = DateTime.Now;

            using (var context = new AcademySiteContext(contextOptions))
            {
                var course = new Course
                {
                    CourseId  = 1,
                    Name      = "MockCourse",
                    TeacherId = 1
                };
                var teacher = new User
                {
                    Id       = 1,
                    UserName = "******"
                };
                context.Courses.Add(course);
                context.Users.Add(teacher);
                context.SaveChanges();

                var courseService = new CourseService(context);

                var assignemnt = await courseService.AddAssignment(courseId, teacherId, 100, name, dateDue);

                Assert.IsTrue(assignemnt.Name == name);
                Assert.IsTrue(context.Assignments.Any(a => a.Name == name));
                Assert.IsTrue(context.Assignments.Count() == 1);
            }
        }
Пример #3
0
        public async Task AddAssignmentShouldThrowIfInvalidName()
        {
            var contextOptions = new DbContextOptionsBuilder <AcademySiteContext>()
                                 .UseInMemoryDatabase(databaseName: "AddAssignmentShouldThrowIfInvalidName")
                                 .Options;

            string name      = null;
            var    courseId  = 1;
            var    teacherId = 1;
            var    dateDue   = DateTime.Now;

            using (var context = new AcademySiteContext(contextOptions))
            {
                var course = new Course
                {
                    CourseId  = 1,
                    Name      = "MockCourse",
                    TeacherId = 1
                };
                var teacher = new User
                {
                    Id       = 1,
                    UserName = "******"
                };
                context.Courses.Add(course);
                context.Users.Add(teacher);
                context.SaveChanges();

                var courseService = new CourseService(context);

                await Assert.ThrowsExceptionAsync <ArgumentException>(async() => await courseService.AddAssignment(courseId, teacherId, 100, name, dateDue));
            }
        }