Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public async Task<Books> GetBooksByBookIdAsyncByLinq(string bookId)
- {
- var books = await _individualRepository.GetEntitiesAsync(t => t.BookID == bookId);
- if (individualResponse.Any())
- {
- return individualResponse.FirstOrDefault();
- }
- return null;
- }
- [Fact]
- public void Test_GetBooksByBookIdAsyncByLinq()
- {
- //Arrange
- var bookID = "000";
- //Mock DocumentDBRepository
- var mockDocumentDBRepository = new Mock<IRepository<Book>>();
- var expected = Get_BookValue();
- mockDocumentDBRepository.Setup(x => x.GetEntitiesAsync(x => x.BookID == bookID))
- .Returns(Task.FromResult(expected));
- var component = new BookComponent(mockDocumentDBRepository.Object);
- //Act
- var result = component.GetBooksByBookIdAsyncByLinq(bookID);
- //Assert
- result.Result.Should().NotBeNull().And.
- BeOfType<Book>();
- }
- private Book Get_BookValue(){
- IEnumerable<Book> result = new List<Book>
- { new Book
- { BookID = "000", BookName = "TestSourceSystemName" } };
- return result;
- }
- public async Task<Books> GetBooksByBookIdAsyncBySQL(string bookId)
- {
- var books = await _individualRepository.RunSQLQueryAsync("select * from c where c.BookID ==" + bookId);
- if (individualResponse.Any())
- {
- return individualResponse.FirstOrDefault();
- }
- return null;
- }
- [Fact]
- public void Test_GetBooksByBookIdAsyncBySQL()
- {
- //Arrange
- var bookID = "000";
- var sqlQuery = "select * from c where c.BookID ==" + bookId;
- //Mock DocumentDBRepository
- var mockDocumentDBRepository = new Mock<IRepository<Book>>();
- var expected = Get_BookValue();
- mockDocumentDBRepository.Setup(x => x.RunQueryAsync(sqlQuery))
- .Returns(Task.FromResult(expected));
- var component = new BookComponent(mockDocumentDBRepository.Object);
- //Act
- var result = component.GetBooksByBookIdAsyncBySQL(bookID);
- //Assert
- result.Result.Should().NotBeNull().And.
- BeOfType<Book>();
- }
- private Book Get_BookValue(){
- IEnumerable<Book> result = new List<Book>
- { new Book
- { BookID = "000", BookName = "TestSourceSystemName" } };
- return result;
- }
- public async Task<IEnumerable<T>> GetEntitiesAsync(Expression<Func<T, bool>> predicate)
- {
- IDocumentQuery<T> query = GetQueryByPredicate(predicate);
- List<T> results = new List<T>();
- while (query.HasMoreResults)
- {
- results.AddRange(await query.ExecuteNextAsync<T>());
- }
- return results;
- }
- public async Task<IEnumerable<T>> RunQueryAsync(string queryString)
- {
- IDocumentQuery<T> query = GetQueryBySQL(queryString);
- List<T> results = new List<T>();
- while (query.HasMoreResults)
- {
- results.AddRange(await query.ExecuteNextAsync<T>());
- }
- return results;
- }
Add Comment
Please, Sign In to add comment