public void WhenIEnterTheBookstore()
 {
     using (var controller = new BookstoreController())
     {
         _result = controller.Index();
     }
 }
        public void WhenIOpenTheDetailsOfBook(string bookId)
        {
            var book = _context.ReferenceBooks.GetById(bookId);

            using (var controller = new BookstoreController())
            {
                _result = controller.Details(book.Id);
            }
        }
Example #3
0
        public void TestBook()
        {
            // ### Arrange ###
            BookstoreController statController = new BookstoreController();

            if (statController == null)
            {
                // ERROR: Ingen boklista kunde hittas!
                Assert.Fail("10: Uppstarten fungerade inte.");
            }
            var         bookListRaw  = statController.TestBookSearch("e", 1, 5); // Försök läsa in max 5 böcker som matchar sökbegreppet "a".
            List <Book> bookListProp = new List <Book>();

            if (bookListRaw == null)
            {
                // ERROR: Ingen boklista kunde hittas!
                Assert.Fail("20: Ingen boklista funnen.");
            }
            else
            {
                foreach (Book book in bookListRaw.Result)
                {
                    bookListProp.Add(book);
                }
                if (bookListProp == null || bookListProp.Count == 0)
                {
                    // ERROR: Ingen boklista kunde hittas!
                    Assert.Fail("30: Inga böcker funna i boklistan.");
                }
                else
                {
                    bookListProp.Add(new Book(100, "Testbok 100", "Testförfattare 100", (decimal)10.95, 5));  // Infoga en testbok med rad nr 100.
                }
            }

            // ### Act ###
            bookListRaw  = statController.TestBookSearch("#order#", 100, 10); // Beställ 10 ex av testboken, även om det bara finns 5 på lager.
            bookListProp = new List <Book>();
            foreach (Book book in bookListRaw.Result)
            {
                bookListProp.Add(book);
            }
            List <Order> orderList = (List <Order>)statController.TestCheckOut().Result; // "Gå till kassan" --> En order ska skapas.

            // ### Assert ###
            if (orderList == null || orderList.Count != 1)
            {
                // ERROR: Ingen order har noterats!
                Assert.Fail("40: Orderlistan är tom.");
            }
            else
            {
                Boolean testSvar = false;
                foreach (Order order in orderList)
                {
                    if (order.Author.Equals("Testförfattare 100") &&
                        order.Title.Equals("Testbok 100") &&
                        order.Verified == 5 &&
                        order.VerCost == (decimal)10.95 * 5)
                    {
                        testSvar = true;
                    }
                }
                if (testSvar)
                {
                    // SUCCESS! Det finns exakt en färdigbehandlad order-post och den visar 5 böcker till totalpriset 5 * 10.95 kr.
                }
                else
                {
                    // ERROR: En betällning finns, men något har gått fel!
                    Assert.Fail("50: Inkorrekta data i order-posten.");
                }
            }
        }
Example #4
0
        public void WhenISearchForBooksByThePhrase(string phrase)
        {
            var controller = new BookstoreController();

            _result = controller.Search(phrase);
        }