def test_admin_script_list(rf, admin_user):
    with override_settings(SHUUP_ENABLE_MULTIPLE_SHOPS=True):
        shop1 = factories.get_shop(identifier="shop-1")
        shop2 = factories.get_shop(identifier="shop-2")

        shop1.staff_members.add(admin_user)
        shop2.staff_members.add(admin_user)

        script_shop1 = Script.objects.create(shop=shop1,
                                             event_identifier="order_received",
                                             name="SHOP 1",
                                             enabled=True)
        script_shop2 = Script.objects.create(shop=shop2,
                                             event_identifier="order_received",
                                             name="SHOP 2",
                                             enabled=True)

        view = ScriptEditView.as_view()
        request = apply_request_middleware(rf.get("/"), user=admin_user)
        set_shop(request, shop2)

        with pytest.raises(Http404):
            response = view(request, pk=script_shop1.id)

        response = view(request, pk=script_shop2.id)
        assert response.status_code == 200
Beispiel #2
0
def test_admin_script_list(rf, admin_user):
    with override_settings(SHUUP_ENABLE_MULTIPLE_SHOPS=True):
        shop1 = factories.get_shop(identifier="shop-1", enabled=True)
        shop2 = factories.get_shop(identifier="shop-2", enabled=True)

        shop1.staff_members.add(admin_user)
        shop2.staff_members.add(admin_user)

        script_shop1 = Script.objects.create(shop=shop1, event_identifier="order_received", name="SHOP 1", enabled=True)
        script_shop2 = Script.objects.create(shop=shop2, event_identifier="order_received", name="SHOP 2", enabled=True)

        view = ScriptEditView.as_view()
        request = apply_request_middleware(rf.get("/"), user=admin_user)
        set_shop(request, shop2)

        with pytest.raises(Http404):
            response = view(request, pk=script_shop1.id)

        response = view(request, pk=script_shop2.id)
        assert response.status_code == 200
Beispiel #3
0
def test_deleting_script(rf, admin_user):
    shop = factories.get_default_shop()
    request = apply_request_middleware(rf.get("/"), user=admin_user)
    script = Script.objects.create(shop=shop,
                                   event_identifier="order_received",
                                   name="Script 1",
                                   enabled=True)

    delete_url = reverse("shuup_admin:notify.script.delete",
                         kwargs={"pk": script.pk})
    view = ScriptEditView.as_view()
    response = view(request, pk=script.pk).render()
    assert bool(delete_url in force_text(response.content))

    assert Script.objects.count() == 1

    request = apply_request_middleware(rf.post("/"), user=admin_user)
    delete_view = ScriptDeleteView.as_view()
    response = delete_view(request, pk=script.pk)
    assert response.status_code == 302  # Redirect to list view
    assert Script.objects.count() == 0