public void RemoveProgressesForEnrollment_Exception() { //Arrange int _enrollmentId = 1; string _message = ""; Enrollment _enrollment = null; Mock<IRepository<Enrollment>> _enrollmentRepository; _enrollmentRepository = new Mock<IRepository<Enrollment>>(); _uow.Setup(u => u.EnrollmentRepository).Returns(_enrollmentRepository.Object); _uow.Setup(u => u.WordProgressRepository).Returns(_progressRepository.Object); _uow.Setup(u => u.Save()); _enrollmentRepository.Setup(e => e.GetById(_enrollmentId)).Returns(_enrollment); _progressRepository.Setup(p => p.Delete(It.IsAny<IEnumerable<WordProgress>>())); var _service = new WordProgressService(_factory.Object); //Act try { _service.RemoveProgressesForEnrollment(_enrollmentId); } catch (ArgumentException ex) { _message = ex.Message; } //Assert Assert.AreEqual("Enrollment with id you are requesting does not exist", _message); _factory.Verify(f => f.GetUnitOfWork(), Times.Once); _uow.Verify(u => u.EnrollmentRepository, Times.Exactly(1)); _uow.Verify(u => u.WordProgressRepository, Times.Never); _enrollmentRepository.Verify(e => e.GetById(_enrollmentId), Times.Exactly(1)); _progressRepository.Verify(p => p.Delete(It.IsAny<IEnumerable<WordProgress>>()), Times.Never); _uow.Verify(u => u.Save(), Times.Never); }
public void RemoveProgressesForEnrollment_Removed() { //Arrange int _enrollmentId = 1; List<WordSuite> _collection = new List<WordSuite>() { new WordSuite(){Id = 1, PrototypeId = null}, new WordSuite() {OwnerId = 3, PrototypeId = 1, WordProgresses = new List<WordProgress>() { new WordProgress() } } }; Enrollment _enrollment = new Enrollment() { Date = System.DateTime.Now, Group = new Group() { Course = new Course() { WordSuites = _collection } }, GroupId = 0, Id = _enrollmentId, User = new User() { Id = 3 }, UserId = 0 }; Mock<IRepository<Enrollment>> _enrollmentRepository; _enrollmentRepository = new Mock<IRepository<Enrollment>>(); _uow.Setup(u => u.EnrollmentRepository).Returns(_enrollmentRepository.Object); _uow.Setup(u => u.WordProgressRepository).Returns(_progressRepository.Object); _uow.Setup(u => u.Save()); _enrollmentRepository.Setup(e => e.GetById(_enrollmentId)).Returns(_enrollment); _progressRepository.Setup(p => p.Delete(It.IsAny<IEnumerable<WordProgress>>())); var _service = new WordProgressService(_factory.Object); //Act _service.RemoveProgressesForEnrollment(_enrollmentId); //Assert _factory.Verify(f => f.GetUnitOfWork(), Times.Once); _uow.Verify(u => u.EnrollmentRepository, Times.Exactly(1)); _uow.Verify(u => u.WordProgressRepository, Times.Exactly(1)); _enrollmentRepository.Verify(e => e.GetById(_enrollmentId), Times.Exactly(1)); _progressRepository.Verify(p => p.Delete(It.IsAny<IEnumerable<WordProgress>>()), Times.Once); _uow.Verify(u => u.Save(), Times.Once); }