예제 #1
0
        public void Should_Return_If_Validation_For_Not_Existing_Book_Fails()
        {
            var bookMobileGetDto = new BookMobileGetDto
            {
                Code           = "0",
                OfficeId       = 1,
                OrganizationId = 1
            };

            Assert.ThrowsAsync <BookException>(async() => await _bookService.GetBookAsync(bookMobileGetDto));
        }
예제 #2
0
        public async Task Should_Return_If_Get_Book_Result_Has_Invalid_Data()
        {
            var bookMobileGetDto = new BookMobileGetDto
            {
                Code           = "1",
                OfficeId       = 1,
                OrganizationId = 1
            };

            var result = await _bookService.GetBookAsync(bookMobileGetDto);

            Assert.AreEqual("Author1", result.Author);
        }
예제 #3
0
        public async Task <RetrievedBookInfoDto> GetBookAsync(BookMobileGetDto bookDto)
        {
            var book = await _bookOfficeDbSet
                       .Include(b => b.Book)
                       .Where(b => b.Book.Code == bookDto.Code &&
                              b.OfficeId == bookDto.OfficeId &&
                              b.OrganizationId == bookDto.OrganizationId)
                       .Select(MapBookToBookMobileGetDto())
                       .FirstOrDefaultAsync();

            _serviceValidator.ThrowIfBookDoesNotExist(book != null);

            return(book);
        }