class OrderModelTest(TestCase):
    def setUp(self):
        self.user = Profile.objects.create_user(
            username='******',
            password='******',
            name='Leonardo',
            full_display_name='Leonardo Gregório',
            email='*****@*****.**')

        self.product = Product(
            name='Running Shoes',
            description='Soft and light running shoes.',
            price=100,
        )
        self.product.save()

        self.order = Order(user=self.user)
        self.order.save()

        self.order_item = OrderItem(order=self.order,
                                    product=self.product,
                                    current_price=self.product.price,
                                    quantity=1)
        self.order_item.save()

    def test_create_order(self):
        """Ensure we can create a new Order"""
        self.assertTrue(Order.objects.exists())

    def test_create_item(self):
        """Ensure we can create a OrderItem"""
        self.assertTrue(OrderItem.objects.exists())
Ejemplo n.º 2
0
    def test_create_order_consists_of_for_order_and_book(self):
        """Retrieve a list of orders consisting of books."""
        b1 = Book('9780439708180', "Harry Potter and the Philosopher's Stone",
                  "J. K. Rowling", "Scholastic", 1999, 10, 6.79, "paperback",
                  "fantasy", "fantasy")
        b1.save()

        c1 = Customer('foo', '*****@*****.**', "3241234", "12341234",
                      "coolstreet")
        c1.save()

        o1 = Order(c1.id)
        o1.save()

        oco = OrderConsistsOf(o1.id, b1.isbn13, 42)
        oco.save()

        q = OrderConsistsOf.query.filter_by(consists_qty=42).all()

        assert len(q) == 1
    def setUp(self):
        self.user = Profile.objects.create_user(
            username='******',
            password='******',
            name='Leonardo',
            full_display_name='Leonardo Gregório',
            email='*****@*****.**')

        self.product = Product(
            name='Running Shoes',
            description='Soft and light running shoes.',
            price=100,
        )
        self.product.save()

        self.order = Order(user=self.user)
        self.order.save()

        self.order_item = OrderItem(order=self.order,
                                    product=self.product,
                                    current_price=self.product.price,
                                    quantity=1)
        self.order_item.save()
Ejemplo n.º 4
0
    def test_from_xml_should_parse_xml_with_one_orders_when_correct(self):
        data_ok = read_file(os.path.join(XML_PATH,
                                         'responses/complete_order_status_one_order_ok.xml'))
        order = Order.from_xml(data_ok)
        self.assertIsInstance(order, Order)
        self.assertEqual('10001', order.Id)
        self.assertEqual('July 18 2010 12:13:15', order.order_date)

        order_items = list(order.order_items)
        self.assertEqual(1, len(order_items))

        self.assertIsInstance(order_items[0], OrderItem)
        self.assertEqual('39393', order_items[0].OrderId)
        self.assertEqual('July 11 2010', order_items[0].expected_ship_date)
        self.assertEqual('', order_items[0].actual_ship_date)
Ejemplo n.º 5
0
def order_book(isbn13, customerid):
    form = AddOrderForm(request.form)
    if request.method == 'POST':
        order = Order.create(customer_id=customerid)
        flash('You, {}, have ordered a book!'.format(
               customerid), 'success')
        # order = Order.query.filter_by(customer_id=customerid)
        # order = order.first()
        OrderConsistsOf.create(consists_order_id=order.id, 
                               consists_isbn13=isbn13, consists_qty=form.qty.data)
        flash('You have ordered the book: {}!'.format(
                isbn13), 'success')
        return "Good job!"
    else:
        flash_errors(form)
    return render_template('orders/addorder.html', form=form)
Ejemplo n.º 6
0
    def test_retreive_list_of_order(self):
        """Retrieve a list of orders."""
        # http://factoryboy.readthedocs.io/en/latest/examples.html?highlight=create_batch#factories
        customer1 = Customer('foo1', '*****@*****.**', "3241234", "12341234",
                             "coolstreet")
        customer1.save()

        order1 = Order(customer1.id)
        order1.save()

        customer2 = Customer('foo2', '*****@*****.**', "3241234", "12341234",
                             "coolstreet")
        customer2.save()

        order2 = Order(customer2.id)
        order2.save()

        l = Order.query.all()
        assert len(l) == 2
Ejemplo n.º 7
0
def order_book(isbn13):
    customerid = current_user.get_id()
    form = AddOrderForm(request.form)
    if request.method == 'POST':
        order = Order.create(customer_id=customerid)
        flash('You, {}, have ordered a book!'.format(customerid), 'success')
        # order = Order.query.filter_by(customer_id=customerid)
        # order = order.first()
        OrderConsistsOf.create(consists_order_id=order.id,
                               consists_isbn13=isbn13,
                               consists_qty=form.qty.data)
        flash('You have ordered the book: {}!'.format(isbn13), 'success')
        return redirect(url_for('book.browse'))
    else:
        flash_errors(form)

    RECOMMENDATIONS = []
    """Get book recommendation."""
    if current_user.is_authenticated:
        id = current_user.get_id()
        # get the book rec
        q1 = db.session.query(OrderConsistsOf.consists_order_id).filter(OrderConsistsOf.consists_isbn13 == isbn13).\
            filter(OrderConsistsOf.consists_order_id != id).all()

        for q in q1:
            isbn13_list = db.session.query(OrderConsistsOf.consists_isbn13).filter(OrderConsistsOf.consists_order_id == q[0]).\
                filter(OrderConsistsOf.consists_isbn13 != isbn13).all()
            if isbn13_list != []:
                for i in isbn13_list:
                    RECOMMENDATIONS.append(
                        db.session.query(Book).filter(
                            Book.isbn13 == i[0]).first())

    return render_template('orders/addorder.html',
                           form=form,
                           recommendations=RECOMMENDATIONS)
Ejemplo n.º 8
0
    def test_should_return_json_when_existing_order(self, mocked__client):
        mocked__client.from_settings.return_value.get_check_user_order.return_value = Order(
            xmltodict.parse(read_file(COMPLETE_ORDER_STATUS)))
        self.request.user = self.user
        response = OrderDetailView.as_view()(self.request)

        self.assertEqual(200, response.status_code)

        order = response.context_data['order']
        self.assertEqual('10001', order.Id)
        self.assertEqual('July 18 2010 12:13:15', order.order_date)
        self.assertEqual('John Doe, 123 State St, Burlington, VT 05491',
                         order.shipping_address)

        order_items = list(order.order_items)
        self.assertEqual(2, len(order_items))

        self.assertEqual('ACME Drill Set', order_items[0].Name)
        self.assertEqual('39393', order_items[0].OrderId)
        self.assertEqual('4847292', order_items[0].ProductId)
        self.assertEqual('July 22 2010', order_items[0].ship_date)
        self.assertEqual('2', order_items[0].Quantity)
        self.assertEqual('500.00', order_items[0].Price)
        self.assertEqual('1000.00', order_items[0].total_price)

        self.assertEqual('ACME Other thing', order_items[1].Name)
        self.assertEqual('39394', order_items[1].OrderId)
        self.assertEqual('979826', order_items[1].ProductId)
        self.assertEqual('July 18 2010', order_items[1].ship_date)
        self.assertEqual('1', order_items[1].Quantity)
        self.assertEqual('150.00', order_items[1].Price)
        self.assertEqual('150.00', order_items[1].total_price)
Ejemplo n.º 9
0
"""Order dummy data."""

from store.orders.models import Order
# from store.orders.models import OrderConsistsOf

# Orders
o1 = Order('cid1')
o2 = Order('cid2')
o3 = Order('cid3')
o4 = Order('cid4')
o5 = Order('cid5')
o6 = Order('cid6')
o7 = Order('cid7')
o8 = Order('cid8')
o9 = Order('cid9')
o10 = Order('cid10')
o11 = Order('cid1')
o12 = Order('cid1')
o13 = Order('cid1')
o14 = Order('cid2')
o15 = Order('cid7')
o16 = Order('cid7')
o17 = Order('cid7')
o18 = Order('cid3')

# oco1 = OrderConsistsOf(o1.id'9780439139595', 3)
# oco2 = OrderConsistsOf(o2.id'9780345803498', 5)
# oco3 = OrderConsistsOf(o3.id'9780345803498', 1)
# oco4 = OrderConsistsOf(o4.id'9780345803481', 2)
# oco5 = OrderConsistsOf(o5.id'9780545139700', 5)
# oco6 = OrderConsistsOf(o6.id'9780439358071', 4)