public void Call_GetAllMethod_FromSubjectsClassOfStudentsRepo_Once_AndReturnCorrectResult() { var mockedClassOfStudentsRepo = new Mock <IRepository <ClassOfStudents> >(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >(); var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, () => mockedUnitOfWork.Object); var subjectId = 1; var firstClassOofStudents = new ClassOfStudents() { Id = 1 }; var secondClassOfStudents = new ClassOfStudents() { Id = 2 }; var thirdClassOfStudents = new ClassOfStudents() { Id = 3 }; var dataToFilter = new List <SubjectClassOfStudents>() { new SubjectClassOfStudents() { SubjectId = 1, ClassOfStudents = firstClassOofStudents }, new SubjectClassOfStudents() { SubjectId = 1, ClassOfStudents = secondClassOfStudents }, new SubjectClassOfStudents() { SubjectId = 1, ClassOfStudents = thirdClassOfStudents }, }; IEnumerable <ClassOfStudents> expected = null; mockedSubjectClassOfStudentsRepo.Setup(x => x.GetAll(It.IsAny <Expression <Func <SubjectClassOfStudents, bool> > >(), It.IsAny <Expression <Func <SubjectClassOfStudents, ClassOfStudents> > >())) .Returns( (Expression <Func <SubjectClassOfStudents, bool> > predicate, Expression <Func <SubjectClassOfStudents, ClassOfStudents> > select) => expected = dataToFilter .Where(predicate.Compile()) .Select(select.Compile())); var result = service.GetAllClassesWithSpecifiedSubject(subjectId); mockedSubjectClassOfStudentsRepo .Verify(x => x.GetAll(It.IsAny <Expression <Func <SubjectClassOfStudents, bool> > >(), It.IsAny <Expression <Func <SubjectClassOfStudents, ClassOfStudents> > >()), Times.Once); CollectionAssert.AreEquivalent(expected, result); }
public void ThrowArgumentNullException_WhenClassOfStudentsRepoIsNull() { var mockedUnitOfWork = new Mock <Func <IUnitOfWork> >(); var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >().Object; Assert.Throws <ArgumentNullException>(() => { var service = new ClassOfStudentsManagementService(null, mockedSubjectClassOfStudentsRepo, mockedUnitOfWork.Object); }); }
public void NotThrow_WhenAllArgumentsAreValid() { var mockedClassOfStudentsRepo = new Mock <IRepository <ClassOfStudents> >(); var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >().Object; var mockedUnitOfWork = new Mock <Func <IUnitOfWork> >(); Assert.DoesNotThrow(() => { var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo, mockedUnitOfWork.Object); }); }
public void CallGetAllMethodFromClassesrepoOnce() { var mockedClassOfStudentsRepo = new Mock <IRepository <ClassOfStudents> >(); var mockedUnitOfWork = new Mock <Func <IUnitOfWork> >(); var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >(); var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, mockedUnitOfWork.Object); service.GetAllClasses(); mockedClassOfStudentsRepo.Verify(x => x.GetAll(), Times.Once); }
public void ThrowArgumentNullException_WithMessageContaining_Subjects_WhenSubjectIdsParamIsNuull() { var mockedClassOfStudentsRepo = new Mock <IRepository <ClassOfStudents> >(); var mockedUnitOfWork = new Mock <Func <IUnitOfWork> >(); var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >(); var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, mockedUnitOfWork.Object); Assert.That( () => service.AddClass(NotNullString, null), Throws.ArgumentNullException.With.Message.Contain("subjecIds")); }
public void ThrowArgumentNullException_WhenSubjectIdsParamIsNuull() { var mockedClassOfStudentsRepo = new Mock <IRepository <ClassOfStudents> >(); var mockedUnitOfWork = new Mock <Func <IUnitOfWork> >(); var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >(); var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, mockedUnitOfWork.Object); Assert.Throws <ArgumentNullException>( () => service.AddClass(NotNullString, null)); }
public void Throw_ArgumentNullException_WihMessageContaining_SubjectIds_WhenSubhectsIdsAreNull() { var mockedClassOfStudentsRepo = new Mock <IRepository <ClassOfStudents> >(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >(); var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, () => mockedUnitOfWork.Object); Assert.That( () => service.AddSubjectsToClass(It.IsAny <int>(), null), Throws.ArgumentNullException.With.Message.Contain("subjectIds")); }
public void ThrowArgumentNullException_WithMessageContatining_Name_WhenNameParamIsNuull() { var mockedClassOfStudentsRepo = new Mock <IRepository <ClassOfStudents> >(); var mockedUnitOfWork = new Mock <Func <IUnitOfWork> >(); var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >(); var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, mockedUnitOfWork.Object); IEnumerable <string> subjectIds = new List <string>(); Assert.That( () => service.AddClass(null, subjectIds), Throws.ArgumentNullException.With.Message.Contain("name")); }
public void ThrowArgumentNullException_WhenNameParamIsNuull() { var mockedClassOfStudentsRepo = new Mock <IRepository <ClassOfStudents> >(); var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >(); var mockedUnitOfWork = new Mock <Func <IUnitOfWork> >(); var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, mockedUnitOfWork.Object); IEnumerable <string> subjectIds = new List <string>(); Assert.Throws <ArgumentNullException>(() => { service.AddClass(null, subjectIds); }); }
public void GetExpectedCollection_FromTheRepo() { var mockedClassOfStudentsRepo = new Mock <IRepository <ClassOfStudents> >(); var mockedUnitOfWork = new Mock <Func <IUnitOfWork> >(); var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >(); IEnumerable <ClassOfStudents> expected = new List <ClassOfStudents>(); mockedClassOfStudentsRepo.Setup(x => x.GetAll()).Returns(expected); var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, mockedUnitOfWork.Object); var result = service.GetAllClasses(); Assert.AreSame(expected, result); }
public void ReturnFalse_WhenAddingWasNotSuccessfull() { var mockedClassOfStudentsRepo = new Mock <IRepository <ClassOfStudents> >(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >(); mockedUnitOfWork.Setup(x => x.Commit()).Returns(false); var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, () => mockedUnitOfWork.Object); IEnumerable <int> subjectIds = Enumerable.Range(1, 10); var result = service.AddSubjectsToClass(It.IsAny <int>(), subjectIds); Assert.False(result); }
public void Call_AddMethodFromSubjectsClassOfStudentsRepo_AsManyTimesAsTheCountOfIdsParams() { var mockedClassOfStudentsRepo = new Mock <IRepository <ClassOfStudents> >(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >(); var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, () => mockedUnitOfWork.Object); IEnumerable <int> subjectIds = Enumerable.Range(1, 10); var expectedCalls = subjectIds.Count(); service.AddSubjectsToClass(It.IsAny <int>(), subjectIds); mockedSubjectClassOfStudentsRepo.Verify( x => x.Add(It.IsAny <SubjectClassOfStudents>()), Times.Exactly(expectedCalls)); }
public void Return_True_WhenCreatingClassIsSuccesfull() { var mockedClassOfStudentsRepo = new Mock <IRepository <ClassOfStudents> >(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >(); mockedUnitOfWork.Setup(x => x.Commit()).Returns(true); IEnumerable <string> classNames = new List <string>(); mockedClassOfStudentsRepo.Setup(x => x.GetAll(null, y => y.Name)).Returns(classNames); var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, () => mockedUnitOfWork.Object); var nonEmptyList = new List <string>() { "2" }; var result = service.AddClass(NotNullString, nonEmptyList); Assert.True(result); }
public void Call_AddMethod_Once_FromClassOfStudentsRepoOnce() { var mockedClassOfStudentsRepo = new Mock <IRepository <ClassOfStudents> >(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >(); IEnumerable <string> classNames = new List <string>() { }; mockedClassOfStudentsRepo.Setup(x => x.GetAll(null, y => y.Name)).Returns(classNames); mockedClassOfStudentsRepo.Setup(x => x.Add(It.IsAny <ClassOfStudents>())); var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, () => mockedUnitOfWork.Object); var nonEmptyList = new List <string>() { "2" }; service.AddClass(NotNullString, nonEmptyList); mockedClassOfStudentsRepo.Verify(x => x.Add(It.IsAny <ClassOfStudents>()), Times.Once); }
public void Return_False_WhenThereIsClassOfStudentsWithTheSameName() { var mockedClassOfStudentsRepo = new Mock <IRepository <ClassOfStudents> >(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >(); string className = NotNullString; IEnumerable <string> classNames = new List <string>() { className }; mockedClassOfStudentsRepo.Setup(x => x.GetAll(null, y => y.Name)).Returns(classNames); var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, () => mockedUnitOfWork.Object); var nonEmptyList = new List <string>() { "2" }; var result = service.AddClass(NotNullString, nonEmptyList); Assert.False(result); }