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
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()
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/"
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
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
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" )