< Summary

Information
Class: BookstoreAPI.Services.BookService
Assembly: BookstoreAPI
File(s): /home/runner/work/dotnet-unit-test-webinar/dotnet-unit-test-webinar/BookstoreAPI/Services/BookService.cs
Line coverage
100%
Covered lines: 13
Uncovered lines: 0
Coverable lines: 13
Total lines: 32
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
GetAllBooks()100%11100%
GetBookById(...)100%11100%
AddBook(...)100%11100%
UpdateBook(...)100%11100%
DeleteBook(...)100%11100%
GetBookDetailsFromExternalApiAsync()100%11100%

File(s)

/home/runner/work/dotnet-unit-test-webinar/dotnet-unit-test-webinar/BookstoreAPI/Services/BookService.cs

#LineLine coverage
 1using BookstoreAPI.Models;
 2using BookstoreAPI.Repositories;
 3
 4namespace BookstoreAPI.Services
 5{
 6    public class BookService : IBookService
 7    {
 8        private readonly IBookRepository _bookRepository;
 9        private readonly IExternalBookHttpClient _externalBookHttpClient;
 10
 1911        public BookService(IBookRepository bookRepository, IExternalBookHttpClient externalBookHttpClient)
 1912        {
 1913            _bookRepository = bookRepository;
 1914            _externalBookHttpClient = externalBookHttpClient;
 1915        }
 16
 217        public IEnumerable<Book> GetAllBooks() => _bookRepository.GetAllBooks();
 18
 219        public Book? GetBookById(int id) => _bookRepository.GetBookById(id);
 20
 221        public void AddBook(Book book) => _bookRepository.AddBook(book);
 22
 423        public void UpdateBook(Book book) => _bookRepository.UpdateBook(book);
 24
 425        public void DeleteBook(int id) => _bookRepository.DeleteBook(id);
 26
 27        public async Task<Book?> GetBookDetailsFromExternalApiAsync(string isbn)
 428        {
 429            return await _externalBookHttpClient.FetchBookDetailsAsync(isbn);
 330        }
 31    }
 32}