public async Task GetDescriptionTest_NullIsbn_Exception() { //arrange _access.WithSelectDescriptionWithIdResult(BookTestUtils.GenerateValidDescription()); _sut = new BookRepository(_access.Object, _mapper.Object); //act var result = await _sut.GetDescription(null); //assert Assert.IsNull(result); _access.Verify(m => m.SelectDescriptionWithId(It.IsAny <string>()), Times.Never); }
public async Task DeleteWithIsbnAsyncTest_InvalidBook_Fails() { //arrange _access.WithDeleteWithIdResult(true); _sut = new BookRepository(_access.Object, _mapper.Object); //act var result = await _sut.DeleteWithIsbnAsync(BookTestUtils.GenerateInvalidBook().Isbn); //assert Assert.IsFalse(result); _access.Verify(m => m.DeleteWithIdAsync(It.IsAny <string>()), Times.Never); }
public async Task GetByIsbnAsyncTest_NonExistingIsbn_HappyPath() { //arrange _access.WithSelectWithIdResult(null); _sut = new BookRepository(_access.Object, _mapper.Object); //act var result = await _sut.GetByIsbnAsync(BookTestUtils.GenerateValidBook().Isbn); //assert Assert.IsNull(result); _access.Verify(m => m.SelectWithIdAsync(It.IsAny <string>()), Times.Once); }
public async Task InsertOneAsyncTest_NullBookMap_ThrowsNullReferenceException() { //arrange _mapper.WithMap(null); _access.WithInsertResult(true); _sut = new BookRepository(_access.Object, _mapper.Object); //act var result = await _sut.InsertAsync(BookTestUtils.GenerateInvalidBook()); //assert Assert.IsFalse(result); _access.Verify(m => m.InsertOneAsync(It.IsAny <BookMap>()), Times.Never); }
public async Task InsertOneAsyncTest_ValidBook_HappyPath() { //arrange _mapper.WithMap(BookMapTestUtils.GenerateValidBookMap()); _access.WithInsertResult(true); _sut = new BookRepository(_access.Object, _mapper.Object); //act var result = await _sut.InsertAsync(BookTestUtils.GenerateValidBook()); //assert Assert.IsTrue(result); _access.Verify(m => m.InsertOneAsync(It.IsAny <BookMap>()), Times.Once); }
public async Task DeleteWithIsbnAsync_InvalidIsbn_ExceptionalCase() { //arrange var validIsbn = BookTestUtils.GenerateInvalidBook().Isbn; _access.WithDeleteWithIsbnResult(true); _sut = new BookCopyRepository(_access.Object, _mapper.Object); //act var result = await _sut.DeleteWithIsbnAsync(validIsbn); //assert Assert.IsFalse(result); _access.Verify(m => m.DeleteWithIsbnAsync(It.IsAny <string>()), Times.Never); }
public async Task DeleteWithIsbnAsync_ValidIsbn_HappyPath() { //arrange var validIsbn = BookTestUtils.GenerateValidBook().Isbn; _access.WithDeleteWithIsbnResult(true); _sut = new BookCopyRepository(_access.Object, _mapper.Object); //act var result = await _sut.DeleteWithIsbnAsync(validIsbn); //assert Assert.IsTrue(result); _access.Verify(m => m.DeleteWithIsbnAsync(It.IsAny <string>()), Times.Once); }
public async Task GetWithIsbnAsync_InvalidIsbn_Fails() { //arrange var invalidBooks = BookCopyMapTestUtils.GenerateValidBookCopyMapEnumerable(); var isbn = BookTestUtils.GenerateInvalidBook().Isbn; _access.WithGetByIsbnAsyncResult(invalidBooks); _sut = new BookCopyRepository(_access.Object, _mapper.Object); //act var result = await _sut.GetByIsbnAsync(isbn); //assert _access.Verify(m => m.GetByIsbnAsync(It.IsAny <string>()), Times.Never); Assert.IsNull(result); }
public async Task DeleteAsyncTest_NullIsbnBook_ThrowsException() { //arrange var book = BookTestUtils.GenerateValidBook(); book.Isbn = null; _access.WithDeleteWithIdResult(true); _sut = new BookRepository(_access.Object, _mapper.Object); //act var result = await _sut.DeleteAsync(book); //assert Assert.IsFalse(result); _access.Verify(m => m.DeleteWithIdAsync(It.IsAny <string>()), Times.Never); }
public async Task DeleteWithIsbnAsyncTest_InvalidIsbn_ThrowsException() { //arrange var book = BookTestUtils.GenerateValidBook(); book.Isbn = "invalid-isbn"; _access.WithInsertUpdateResult(true); _sut = new BookRepository(_access.Object, _mapper.Object); //act var result = await _sut.DeleteAsync(book); //assert Assert.IsFalse(result); _access.Verify(m => m.DeleteOneAsync(It.IsAny <IMap>()), Times.Never); }
public async Task GetPagedBooksFilterTest_NullFilter_Exception() { //arrange const int validPageId = 10; const int invalidPageSize = 10; _access.WithValidCatalogueSearch(null); _filterMapper.WithMap(BookCatalogueFilterTestUtils.GetValidCatalogueFilterMap); _catalogueMapper.WithUnMap(BookTestUtils.GenerateInvalidBook()); _sut = new BookRepository(_access.Object, _mapper.Object, _filterMapper.Object, _catalogueMapper.Object); //act var result = await _sut.GetPagedBooks(validPageId, invalidPageSize, null); //assert Assert.IsNull(result); _access.Verify(m => m.SelectDescriptionWithId(It.IsAny <string>()), Times.Never); }
public async Task GetPagedBooksFilterTest_EmptyCatalogueItems_HappyPath() { //arrange const int validPageId = 10; const int invalidPageSize = 10; _access.WithValidCatalogueSearch(new List <CatalogueItemMap>()); _filterMapper.WithMap(BookCatalogueFilterTestUtils.GetValidCatalogueFilterMap); _catalogueMapper.WithUnMap(BookTestUtils.GenerateInvalidBook()); _sut = new BookRepository(_access.Object, _mapper.Object, _filterMapper.Object, _catalogueMapper.Object); //act var result = await _sut.GetPagedBooks(validPageId, invalidPageSize, BookCatalogueFilterTestUtils.GetValidCatalogueFilter); //assert Assert.IsNotNull(result); _access.Verify(m => m.SearchCatalogue(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <CatalogueFilterMap>()), Times.Once); }
public async Task GetByIsbnAsyncTest_InvalidIsbn_ThrowsException() { //arrange var book = BookTestUtils.GenerateValidBook(); book.Isbn = "invalid-isbn"; _mapper.WithUnmap(BookTestUtils.GenerateValidBook()); _access.WithSelectWithIdResult(BookMapTestUtils.GenerateValidBookMap() as IBookMap); _sut = new BookRepository(_access.Object, _mapper.Object); //act var result = await _sut.GetByIsbnAsync(book.Isbn); //assert Assert.IsNull(result); _access.Verify(m => m.SelectWithIdAsync(It.IsAny <string>()), Times.Never); }