Esempio n. 1
0
        public void ReturnCorrectAuthorWhenAuthorNameParameterIsValid()
        {
            var firstAuthorName  = "test";
            var secondAuthorName = "test2";

            var mockedUnitOfWork = new Mock <IUnitOfWork>();
            var mockedRepository = new Mock <IRepository <Author> >();
            var authorsService   = new AuthorsService(mockedRepository.Object, mockedUnitOfWork.Object);

            var mockedFirstAuthor = new Mock <Author>().Object;

            mockedFirstAuthor.Name = firstAuthorName;

            var mockedSecondAuthor = new Mock <Author>().Object;

            mockedSecondAuthor.Name = secondAuthorName;

            var authors = new List <Author>();

            authors.Add(mockedFirstAuthor);
            authors.Add(mockedSecondAuthor);

            mockedRepository.Setup(x => x.GetAll).Returns(authors.AsQueryable <Author>);

            var result = authorsService.GetBookAuthorByName(firstAuthorName);

            Assert.AreSame(mockedFirstAuthor, result);
        }
Esempio n. 2
0
        public void ThrowArgumentExceptionWhenAuthorNameParameterIsEmptyStringOrWhiteSpace(string invalidAuthorName)
        {
            var mockedUnitOfWork = new Mock <IUnitOfWork>();
            var mockedRepository = new Mock <IRepository <Author> >();

            var authorsService = new AuthorsService(mockedRepository.Object, mockedUnitOfWork.Object);

            Assert.That(() => authorsService.GetBookAuthorByName(invalidAuthorName),
                        Throws.ArgumentException.With.Message.Contains("authorName"));
        }
Esempio n. 3
0
        public void ThrowArgumentNullExceptionWithProperMessageWhenAuthorNameParameterTIsNull()
        {
            var mockedUnitOfWork = new Mock <IUnitOfWork>();
            var mockedRepository = new Mock <IRepository <Author> >();

            var authorsService = new AuthorsService(mockedRepository.Object, mockedUnitOfWork.Object);

            Assert.That(() => authorsService.GetBookAuthorByName(null),
                        Throws.ArgumentNullException.With.Message.Contains("authorName"));
        }
Esempio n. 4
0
        public void CallAutorsRepositoryGetAllMethodWhenAuthorNameParameterIsValid()
        {
            var authorName = "test";

            var mockedUnitOfWork = new Mock <IUnitOfWork>();
            var mockedRepository = new Mock <IRepository <Author> >();
            var authorsService   = new AuthorsService(mockedRepository.Object, mockedUnitOfWork.Object);

            var result = authorsService.GetBookAuthorByName(authorName);

            mockedRepository.Verify(x => x.GetAll, Times.Once());
        }