Example #1
0
        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));
            }
        }
Example #2
0
        /// <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));
        }
Example #3
0
        /* 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));
        }