public async Task <IHttpActionResult> GetBookStatusAsync(string isbn) { try { BookStatusView bookStatus = await _context.Books.GetBookStatusAsync(isbn).ConfigureAwait(false); if (bookStatus == null) { return(NotFound()); } return(Ok(bookStatus)); } catch (Exception e) { return(Content(HttpStatusCode.InternalServerError, e.Message)); } }
/// <summary> /// FTC1.1.1 /// </summary> /// <returns></returns> public static Tuple <Item, Member, BookStatusView, LoanRequirement> TestCaseInput2() { var libraryMember = new Member { Member_id = 1, Library = new Library() { Member_id = 1, Name = "Library" }, Loan_Rule = GetNormalLoanRule() }; var itemId = 1; var item = new Item { Item_id = 1, Book = GetBook(itemId), ItemStatu = GetItemStatus(itemId, false), Subject = 1, Create_time = DateTime.Now, Item_type = 1, SerialItems = GetSerialItems(itemId) }; var bookStatus = new BookStatusView { CanLoanOut = false, IsAvailable = true, Isbn = isbn, ItemId = 1 }; var loanRequirement = new LoanRequirement { MemberId = 1, Isbn = isbn, CopyNumber = 1 }; return(Tuple.Create(item, libraryMember, bookStatus, loanRequirement)); }
/* Private Method */ private static LoanController GetMockedLoanController(Item inputItem, Member inputMember, BookStatusView inputBookStatusView) { var item = new Mock <IItemRepository>(); item.Setup(i => i.GetItemIncludeStatus(It.IsAny <int>())).Returns(inputItem); item.Setup(i => i.GetAvailableSerialItemsAsync(It.IsAny <int>(), It.IsAny <string>())).ReturnsAsync(inputItem.SerialItems.ToList()); item.Setup(i => i.GetReservedBooksAsync(It.IsAny <int>())).ReturnsAsync(1); var member = new Mock <IMemberRepository>(); member.Setup(m => m.GetLibraryMemberAsync(1)).ReturnsAsync(inputMember); var book = new Mock <IBookRepository>(); book.Setup(i => i.GetBookStatusAsync(It.IsAny <string>())).ReturnsAsync(inputBookStatusView); var reservation = new Mock <IReservationRepository>(); reservation.Setup(i => i.AddRange(It.IsAny <List <Reservation> >())); var serialitem = new Mock <ISerialItemRepository>(); serialitem.Setup(i => i.SaveRange(It.IsAny <List <SerialItem> >())); var contextHelper = new Mock <IContextHelper>(); contextHelper.Setup(i => i.GetSequenceNoAsync(It.IsAny <string>())).ReturnsAsync(1); var mockedContext = new Mock <IContext>(); mockedContext.Setup(c => c.Items).Returns(item.Object); mockedContext.Setup(c => c.ContextHelper).Returns(contextHelper.Object); mockedContext.Setup(c => c.Members).Returns(member.Object); mockedContext.Setup(c => c.Books).Returns(book.Object); mockedContext.Setup(c => c.Reservations).Returns(reservation.Object); mockedContext.Setup(c => c.SerialItems).Returns(serialitem.Object); return(new LoanController(mockedContext.Object)); }