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); }
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")); }
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")); }
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()); }