public void AddRange_CourseFromListAlreadyExist_PreexistingEntityExceptionWillBeThrown() { // arrange var newCourses = new List <Course> { new Course() { Name = "Swimming", CourseType = _internalCT, CourseTypeId = _internalCT.Id, IsDeleted = false }, new Course() { Name = "Chess", CourseType = _internalCT, CourseTypeId = _internalCT.Id, IsDeleted = false }, new Course() { Name = "Hockey", CourseType = _externalCT, CourseTypeId = _externalCT.Id, IsDeleted = false } }; _courseRepository.Setup(m => m.Find(It.IsAny <Expression <Func <Course, bool> > >(), null, "")) .Returns(() => { return(new List <Course>() { new Course() }); }); var courseService = new CourseService(_courseRepository.Object); courseService.CourseTypeService = _courseTypeService.Object; // act and assert Assert.Throws <PreexistingEntityException>(() => courseService.AddRange(newCourses)); _courseRepository.Verify(cr => cr.Find(It.IsAny <Expression <Func <Course, bool> > >(), null, "")); }
public void AddRange_ListOfCourses_CoursesGetNewIds() { // arrange var newCourses = new List <Course> { new Course() { Name = "Swimming", CourseType = _internalCT, CourseTypeId = _internalCT.Id, IsDeleted = false }, new Course() { Name = "Cards", CourseType = _internalCT, CourseTypeId = _internalCT.Id, IsDeleted = false }, new Course() { Name = "Hockey", CourseType = _externalCT, CourseTypeId = _externalCT.Id, IsDeleted = false } }; var expectedIds = new int[] { 10, 11, 12 }; _courseRepository.Setup(m => m.AddRange(It.IsAny <IEnumerable <Course> >())) .Callback((IEnumerable <Course> courses) => {}); var courseService = new CourseService(_courseRepository.Object); courseService.CourseTypeService = _courseTypeService.Object; // act courseService.AddRange(newCourses); // assert _courseRepository.Verify(cr => cr.AddRange(It.IsAny <IEnumerable <Course> >())); }
public void AddRange_CoursesListIsEmptyOrNull_ArgumentNullExceptionWillBeThrown() { // arrange var courseService = new CourseService(_courseRepository.Object); courseService.CourseTypeService = _courseTypeService.Object; // act and assert Assert.Throws <ArgumentNullException>(() => courseService.AddRange(null)); }
public async Task <IActionResult> AddRange([FromBody] List <CourseViewModel> courseViewModel) { try { List <Course> courses = new List <Course>(); foreach (var c in courseViewModel) { Course course = new Course() { Name = c.Name, CategoryId = c.CategoryId, LecturerId = c.LecturerId, ImageUrl = c.ImageUrl, Price = c.Price, Discount = c.Discount, ShortDiscription = c.ShortDiscription, DetailDiscription = c.DetailDiscription, LastUpdated = DateTime.Now, StatusId = c.StatusId }; courses.Add(course); } await courseService.AddRange(courses); return(Ok(new { Results = courses })); } catch (Exception e) { Console.WriteLine($"ErrorMesages: {e}"); return(BadRequest(new { Errors = new { Code = "InvalidInputParameters", Description = "Invalid Input Parameters!" } })); } }