public async Task AddResultToUsersCourses_ShouldThrow_IfCourseNotExist() { var coursesUsersRepoBuilder = new CoursesUsersRepositoryBuilder(); var courseUserRepo = coursesUsersRepoBuilder .WithAll() .Build(); var coursesRepoBuilder = new CoursesRepositoryBuilder(); var courseRepo = coursesRepoBuilder .WithAll() .Build(); var sut = new CoursesService(courseUserRepo, courseRepo, null, Mapper); var user = new GoUser { Id = "7" }; var courseUser = new UsersResultsViewModel { CourseId = "7", Course = new CourseViewModel { Id = "7", Image = new byte[0], Title = "Drun", Description = "Drunnnnnnnnnnnnnnnnnn", MaxCountParticipants = 4, StartDate = DateTime.Now.AddDays(3), DurationOfDays = 3, CreatorId = "7", Creator = new GoUserViewModel { Id = "7" }, Status = Status.Practically, Category = Category.Climbing }, ParticipantId = "8", Result = StatusParticitant.Successfully }; var ex = await Assert.ThrowsAsync <ArgumentException>(async() => await sut.AddResultToUsersCourses(courseUser, user)); ex.Message.ShouldBe("This userCourse not exist!"); coursesUsersRepoBuilder.CoursesUsersRepoMock.Verify(); coursesRepoBuilder.CoursesRepoMock.Verify(); coursesUsersRepoBuilder.CoursesUsersRepoMock.Verify(d => d.SaveChangesAsync(), Times.Never); }
public async Task AddResultToUsersCourses_ShouldAddResultCorrect_IfCourseExist() { var coursesUsersRepoBuilder = new CoursesUsersRepositoryBuilder(); var courseUserRepo = coursesUsersRepoBuilder .WithAll() .Build(); var coursesRepoBuilder = new CoursesRepositoryBuilder(); var courseRepo = coursesRepoBuilder .WithAll() .Build(); var sut = new CoursesService(courseUserRepo, courseRepo, null, Mapper); var user = new GoUser { Id = "7" }; var courseUser = new UsersResultsViewModel { CourseId = "4", Course = new CourseViewModel { Id = "4", Image = new byte[0], Title = "Drun", Description = "Drunnnnnnnnnnnnnnnnnn", MaxCountParticipants = 4, StartDate = DateTime.Now.AddDays(-3), DurationOfDays = 3, CreatorId = "7", Creator = new GoUserViewModel { Id = "7" }, Status = Status.Practically, Category = Category.Climbing }, ParticipantId = "7", Result = StatusParticitant.Successfully }; await sut.AddResultToUsersCourses(courseUser, user); coursesUsersRepoBuilder.CoursesUsersRepoMock.Verify(r => r.AddAsync(It.IsAny <CoursesUsers>()), Times.Exactly(0)); coursesUsersRepoBuilder.CoursesUsersRepoMock.Verify(r => r.SaveChangesAsync(), Times.Once); }