示例#1
0
    def test_get_stock_item_returns_stock_item(self):
        repo = StockRepository(DatabaseManager())

        db_product = Product(name="iPhone X", description="Apple iPhone\nwith FaceID", target_stock=3)
        db_product.save()

        db_stock = StockItem(location="A3", quantity=4, product=db_product)
        db_stock.save()

        expected = StockItemDalModel(db_stock.id, db_stock.location, db_stock.quantity, db_product.id)
        expected.product = ProductDalModel(db_product.id, db_product.name,
                                           db_product.description, db_product.target_stock)

        # Act
        stock_item: StockItemDalModel = repo.get_stock_item(db_stock.id)

        # Assert
        self.assertEqual(stock_item, expected)
def product_view(request):
    if request.method == 'POST':
        form = NewProductForm(request.POST)
        print("errors in create/views.py")
        print(form.errors)
        print(form.non_field_errors)
        if form.is_valid():
            cform = form.cleaned_data
            print(cform)
            new_product = Product(product_name=cform['product_name'],
                                  product_description=cform['product_desc'],
                                  price=cform['price'],
                                  genre=cform['genre'],
                                  release_date=cform['release_date'],
                                  stock=cform['stock'],
                                  merchant_id=cform['merchant_id'],
                                  developer_id=cform['developer_id'])
            new_product.save()

            return redirect('/search/product/' + str(new_product.id))
    else:
        form = NewProductForm()
    context = {'form': form, 'is_logged_in': True}
    return render(request, 'create/newProduct.html', context)