def test_view_create_from_draft_order_shipping_zone_not_valid( admin_client, draft_order, settings, shipping_zone ): method = shipping_zone.shipping_methods.create( name="DHL", price=Money(10, settings.DEFAULT_CURRENCY) ) shipping_zone.countries = ["DE"] shipping_zone.save() # Shipping zone is not valid, as shipping address is listed outside the # shipping zone's countries assert draft_order.shipping_address.country.code != "DE" draft_order.shipping_method = method draft_order.save() url = reverse( "dashboard:create-order-from-draft", kwargs={"order_pk": draft_order.pk} ) data = {"shipping_method": method.pk} response = admin_client.post(url, data) assert response.status_code == 400 draft_order.refresh_from_db() assert draft_order.status == OrderStatus.DRAFT errors = get_form_errors(response) error = "Shipping method is not valid for chosen shipping address" assert error in errors
def test_view_create_from_draft_order_shipping_zone_not_valid( admin_client, draft_order, settings, shipping_zone ): method = shipping_zone.shipping_methods.create( name="DHL", price=Money(10, settings.DEFAULT_CURRENCY) ) shipping_zone.countries = ["DE"] shipping_zone.save() # Shipping zone is not valid, as shipping address is listed outside the # shipping zone's countries assert draft_order.shipping_address.country.code != "DE" draft_order.shipping_method = method draft_order.save() url = reverse( "dashboard:create-order-from-draft", kwargs={"order_pk": draft_order.pk} ) data = {"shipping_method": method.pk} response = admin_client.post(url, data) assert response.status_code == 400 draft_order.refresh_from_db() assert draft_order.status == OrderStatus.DRAFT errors = get_form_errors(response) error = "Shipping method is not valid for chosen shipping address" assert error in errors
def test_view_create_from_draft_order_empty_order(admin_client, draft_order): order = draft_order order.lines.all().delete() url = reverse("dashboard:create-order-from-draft", kwargs={"order_pk": order.pk}) data = {"csrfmiddlewaretoken": "hello"} response = admin_client.post(url, data) assert response.status_code == 400 order.refresh_from_db() assert order.status == OrderStatus.DRAFT errors = get_form_errors(response) assert "Could not create order without any products" in errors
def test_view_create_from_draft_order_empty_order(admin_client, draft_order): order = draft_order order.lines.all().delete() url = reverse("dashboard:create-order-from-draft", kwargs={"order_pk": order.pk}) data = {"csrfmiddlewaretoken": "hello"} response = admin_client.post(url, data) assert response.status_code == 400 order.refresh_from_db() assert order.status == OrderStatus.DRAFT errors = get_form_errors(response) assert "Could not create order without any products" in errors
def test_view_create_from_draft_task_empty_order(admin_client, draft_order): task = draft_order task.lines.all().delete() url = reverse( 'dashboard:create-task-from-draft', kwargs={'task_pk': task.pk}) data = {'csrfmiddlewaretoken': 'hello'} response = admin_client.post(url, data) assert response.status_code == 400 task.refresh_from_db() assert task.status == TaskStatus.DRAFT errors = get_form_errors(response) assert 'Could not create task without any skills' in errors
def test_view_create_from_draft_order_shipping_method_not_valid( admin_client, draft_order, shipping_method): method = shipping_method.price_per_country.create(country_code='DE', price=10) draft_order.shipping_method = method draft_order.save() url = reverse('dashboard:create-order-from-draft', kwargs={'order_pk': draft_order.pk}) data = {'csrfmiddlewaretoken': 'hello'} response = admin_client.post(url, data) assert response.status_code == 400 draft_order.refresh_from_db() assert draft_order.status == OrderStatus.DRAFT errors = get_form_errors(response) error = 'Shipping method is not valid for chosen shipping address' assert error in errors
def test_view_create_from_draft_order_shipping_method_not_valid( admin_client, draft_order, shipping_method): method = shipping_method.price_per_country.create( country_code='DE', price=10) draft_order.shipping_method = method draft_order.save() url = reverse( 'dashboard:create-order-from-draft', kwargs={'order_pk': draft_order.pk}) data = {'csrfmiddlewaretoken': 'hello'} response = admin_client.post(url, data) assert response.status_code == 400 draft_order.refresh_from_db() assert draft_order.status == OrderStatus.DRAFT errors = get_form_errors(response) error = 'Shipping method is not valid for chosen shipping address' assert error in errors
def test_view_order_customer_edit_not_valid(admin_client, customer_user, draft_order): draft_order.user = None draft_order.user_email = "" draft_order.save() url = reverse("dashboard:order-customer-edit", kwargs={"order_pk": draft_order.pk}) data = { "user_email": "*****@*****.**", "user": customer_user.pk, "update_addresses": False, } response = admin_client.post(url, data) assert response.status_code == 400 draft_order.refresh_from_db() assert not draft_order.user == customer_user errors = get_form_errors(response) error = ( "An order can be related either with an email or an existing user " "account" ) assert error in errors
def test_view_order_customer_edit_not_valid( admin_client, customer_user, draft_order): draft_order.user = None draft_order.user_email = '' draft_order.save() url = reverse( 'dashboard:order-customer-edit', kwargs={'order_pk': draft_order.pk}) data = { 'user_email': '*****@*****.**', 'user': customer_user.pk, 'update_addresses': False} response = admin_client.post(url, data) assert response.status_code == 400 draft_order.refresh_from_db() assert not draft_order.user == customer_user errors = get_form_errors(response) error = ( 'An order can be related either with an email or an existing user ' 'account') assert error in errors
def test_view_order_customer_edit_not_valid( admin_client, customer_user, draft_order): draft_order.user = None draft_order.user_email = '' draft_order.save() url = reverse( 'dashboard:order-customer-edit', kwargs={'order_pk': draft_order.pk}) data = { 'user_email': '*****@*****.**', 'user': customer_user.pk, 'update_addresses': False} response = admin_client.post(url, data) assert response.status_code == 400 draft_order.refresh_from_db() assert not draft_order.user == customer_user errors = get_form_errors(response) error = ( 'An order can be related either with an email or an existing user ' 'account') assert error in errors
def test_view_order_customer_edit_not_valid(admin_client, customer_user, draft_order): draft_order.user = None draft_order.user_email = "" draft_order.save() url = reverse("dashboard:order-customer-edit", kwargs={"order_pk": draft_order.pk}) data = { "user_email": "*****@*****.**", "user": customer_user.pk, "update_addresses": False, } response = admin_client.post(url, data) assert response.status_code == 400 draft_order.refresh_from_db() assert not draft_order.user == customer_user errors = get_form_errors(response) error = ( "An order can be related either with an email or an existing user " "account" ) assert error in errors
def test_view_create_from_draft_order_shipping_zone_not_valid( admin_client, draft_order, shipping_zone): method = shipping_zone.shipping_methods.create(name='DHL', price=10) shipping_zone.countries = ['DE'] shipping_zone.save() # Shipping zone is not valid, as shipping address is listed outside the # shipping zone's countries assert draft_order.shipping_address.country.code != 'DE' draft_order.shipping_method = method draft_order.save() url = reverse('dashboard:create-order-from-draft', kwargs={'order_pk': draft_order.pk}) data = {'shipping_method': method.pk} response = admin_client.post(url, data) assert response.status_code == 400 draft_order.refresh_from_db() assert draft_order.status == OrderStatus.DRAFT errors = get_form_errors(response) error = 'Shipping method is not valid for chosen shipping address' assert error in errors
def test_view_create_from_draft_task_delivery_zone_not_valid( admin_client, draft_order, settings, delivery_zone): method = delivery_zone.delivery_methods.create( name='DHL', price=Money(10, settings.DEFAULT_CURRENCY)) delivery_zone.countries = ['DE'] delivery_zone.save() # Delivery zone is not valid, as delivery address is listed outside the # delivery zone's countries assert draft_order.delivery_address.country.code != 'DE' draft_order.delivery_method = method draft_order.save() url = reverse( 'dashboard:create-task-from-draft', kwargs={'task_pk': draft_order.pk}) data = {'delivery_method': method.pk} response = admin_client.post(url, data) assert response.status_code == 400 draft_order.refresh_from_db() assert draft_order.status == TaskStatus.DRAFT errors = get_form_errors(response) error = 'Delivery method is not valid for chosen delivery address' assert error in errors