コード例 #1
0
def test_scenario_3():
    user1 = UserFactory(first_name="tester-1",
                        email="*****@*****.**",
                        username="******")
    user2 = UserFactory(first_name="tester-2",
                        email="*****@*****.**",
                        username="******")
    vendor1 = VendorFactory(user=user1)
    vendor2 = VendorFactory(user=user2)
    product1 = ProductFactory(product_class=ProductClassFactory(),
                              vendor=vendor1,
                              slug="product1")
    product2 = ProductFactory(product_class=ProductClassFactory(),
                              vendor=vendor1,
                              slug="product2")
    basket_vendor = BasketVendor(user1, vendor2, product2)
    basket_vendor.create_new_basket()
    partner = PartnerFactory()
    stock_record = StockRecordFactory(product=product1,
                                      partner=partner,
                                      partner_sku=1)
    LineFactory(basket=Basket.objects.first(),
                product=product1,
                stockrecord=stock_record)
    basket_vendor.get_or_create_new_basket_vendor()
    assert Basket.objects.first().status == Basket.OTHER_VENDOR
コード例 #2
0
def test_scenario_2():
    user = UserFactory()
    vendor1 = VendorFactory(user=user)
    vendor2 = VendorFactory(user=user)
    product1 = ProductFactory(product_class=ProductClassFactory(),
                              vendor=vendor1)
    product1 = ProductFactory(product_class=ProductClassFactory(),
                              vendor=vendor1)
    ProductFactory(product_class=ProductClassFactory(), vendor=vendor1)
    basket_vendor = BasketVendor(user, vendor1, product1)
    basket_vendor.create_new_basket()

    product = ProductFactory(product_class=ProductClassFactory(),
                             vendor=vendor1)
    partner = PartnerFactory()
    stock_record = StockRecordFactory(product=product,
                                      partner=partner,
                                      partner_sku=1)
    LineFactory(basket=Basket.objects.first(),
                product=product,
                stockrecord=stock_record)
    basket_vendor.get_or_create_new_basket_vendor()
    assert len(Basket.objects.all()) == 1
    assert Basket.objects.last().status == Basket.OPEN
    assert not Basket.objects.filter(
        status=Basket.OPEN).first().lines.all().exists()
コード例 #3
0
def test_add_product_to_basket():
    user = UserFactory()

    vendor = VendorFactory(id=2, user=user)
    product = ProductFactory(
        id=2,
        product_class=ProductClassFactory(),
        vendor=vendor,
        title="Test product",
        description="Test description",
    )

    partner = PartnerFactory()
    StockRecordFactory(product=product, partner=partner, partner_sku=1)
    factory = APIRequestFactory()
    view = AddProductToBasket.as_view()
    data = {"vendor_id": 2, "product_id": 2}
    request = factory.post("/api/add_product/", data, format="json")
    force_authenticate(request, user=user)
    response = view(request)
    data = response.data
    assert response.status_code == 200
    assert data.get("title") == "Test product"
    assert data.get("description") == "Test description"
    assert data.get("url") == "http://testserver/oscarapi/products/2/"
コード例 #4
0
def test_scenario_1():
    user = UserFactory(first_name="tester-1",
                       email="*****@*****.**",
                       username="******")
    product = ProductFactory(product_class=ProductClassFactory())
    vendor = VendorFactory(user=user)
    basket_vendor = BasketVendor(user, vendor, product)
    basket_vendor.get_or_create_new_basket_vendor()
    assert len(Basket.objects.all()) == 1
コード例 #5
0
def test_validate_product_vendor_false():
    user = UserFactory(first_name="tester-1",
                       email="*****@*****.**",
                       username="******")
    vendor1 = VendorFactory(user=user)
    vendor2 = VendorFactory(user=user)
    product = ProductFactory(product_class=ProductClassFactory(),
                             vendor=vendor2)
    basket_vendor = BasketVendor(user, vendor1, product)
    basket_vendor.create_new_basket()
    partner = PartnerFactory()
    stock_record = StockRecordFactory(product=product,
                                      partner=partner,
                                      partner_sku=1)
    LineFactory(basket=Basket.objects.first(),
                product=product,
                stockrecord=stock_record)
    basket = Basket.objects.first()
    assert not basket_vendor.validate_product_vendor(basket)
    assert len(Basket.objects.all()) == 1
コード例 #6
0
def test_user_api_view_retrieve_with_super_user(rf, user_vendor):
    user = user_vendor
    user_2 = UserFactory(
        id=50,
        username="******",
        email="*****@*****.**",
        age=18,
        older_than_18=True,
        tos=True,
        is_superuser=True,
    )
    vendorprofile = VendorProfileFactory(
        id=50,
        title="Welcome to my page",
        description="Lorem ipsum dolor sit amet",
        small_description="Lorem ipsum",
    )
    VendorFactory(
        id=50,
        user=user_2,
        country="NL",
        first_language="Dutch",
        second_language="English",
        stripe_id="123456",
        snapchat="example",
        instagram="example",
        facebook="example",
        twitter="example",
        vendorprofile=vendorprofile,
    )
    factory = APIRequestFactory()
    view = UserApiView.as_view({"get": "retrieve"})
    request = factory.get(f"api/users/{user.id}/")
    force_authenticate(request, user=user_2)
    response = view(request, pk=user.id)
    assert response.status_code == 200
    assert response.data.get("id") == user.id
    assert response.data.get("username") == "crimzon"
    assert response.data.get("vendor").get("country") == "NL"
    assert (
        response.data.get("vendor").get("vendorprofile").get("title")
        == "Welcome to my page"
    )