public async Task AddCourseShouldCorrectlyAddCourse() { var contextOptions = new DbContextOptionsBuilder <AcademySiteContext>() .UseInMemoryDatabase(databaseName: "AddCourseShouldCorrectlyAddCourse") .Options; var courseName = "SQL"; var startDate = DateTime.Now; var endDate = DateTime.Now.AddDays(30); using (var context = new AcademySiteContext(contextOptions)) { var teacher = new User() { Id = 1, UserName = "******", RoleId = 2 }; context.Users.Add(teacher); context.SaveChanges(); var courseService = new CourseService(context); await courseService.AddCourseAsync(1, startDate, endDate, courseName); Assert.AreEqual(1, context.Courses.Count()); Assert.IsTrue(context.Courses.Any(co => co.Name == "SQL" && co.TeacherId == 1)); } }
public async Task <IActionResult> AddCourseAsync([FromBody] dynamic model) { Course c = new Course(); c.Name = "Computer Tech"; //_context.Course.Add(c); var result = await _courseService.AddCourseAsync(model); return(Json(result)); }
public async Task Test_Create_Course_Async() { _mockSet.As <IDbAsyncEnumerable <CourseDb> >().Setup(b => b.GetAsyncEnumerator()).Returns(new TestDbAsyncEnumerator <CourseDb>(_coursesDb.GetEnumerator())); _mockSet.As <IQueryable <CourseDb> >().Setup(b => b.Provider).Returns(new TestDbAsyncQueryProvider <CourseDb>(_coursesDb.Provider)); _mockContext.Setup(c => c.Courses).Returns(_mockSet.Object); _mockRepo = new CourseRepository(_mockContext.Object); _mockMapper.Setup(m => m.Map <CourseInfo, CourseDb>(_oneCourseInfo)).Returns(_oneCourseDb); _service = new CourseService(_mockMapper.Object, _mockRepo); var result = await _service.AddCourseAsync(_oneCourseInfo); _mockSet.Verify(b => b.Add(It.IsAny <CourseDb>()), Times.Once()); _mockContext.Verify(b => b.SaveChangesAsync(), Times.Once()); result.IsSuccess.Should().BeTrue(); }
public async Task addCourse_should_add_correct_entity() { var sut = new CourseService(_courseRepository, _courseMapper); var course = new AddCourseRequest() { Name = "software engineering", TeacherId = 2, SeasonId = 1 }; var addedCourse = await sut.AddCourseAsync(course); addedCourse.ShouldNotBeNull(); addedCourse.Name.ShouldBe(course.Name);; }
public async Task AddCourseShouldThrowIfUserNotTeacher() { var contextOptions = new DbContextOptionsBuilder <AcademySiteContext>() .UseInMemoryDatabase(databaseName: "AddCourseShouldThrowIfUserNotTeacher") .Options; var courseName = "SQL"; var startDate = DateTime.Now; var endDate = DateTime.Now.AddDays(30); using (var context = new AcademySiteContext(contextOptions)) { var teacher = new User() { Id = 1, UserName = "******", RoleId = 3 }; context.Users.Add(teacher); context.SaveChanges(); var courseService = new CourseService(context); await Assert.ThrowsExceptionAsync <IncorrectPermissionsException>(async() => await courseService.AddCourseAsync(1, startDate, endDate, courseName)); } }