Ejemplo n.º 1
0
def test_create_api_permission_groups(rf, admin_user):
    shop = factories.get_default_shop()
    group1 = Group.objects.create(name="group1")
    group2 = Group.objects.create(name="group2")

    client = SmartClient()
    client.force_login(admin_user)

    url = reverse("shuup_admin:api_permission_groups.new")
    response, soup = client.response_and_soup(url)
    assert response.status_code == 200

    inputs = extract_form_fields(soup)
    name = printable_gibberish()
    inputs["base-name"] = name
    inputs["base-groups"] = [group2.pk]

    assert APIPermissionGroups.objects.count() == 0

    response = client.post(url, data=inputs)
    assert response.status_code == 302

    permission_groups = APIPermissionGroups.objects.first()
    assert permission_groups.name == name
    assert permission_groups.groups.count() == 1
    assert group2 in permission_groups.groups.all()

    edit_url = reverse("shuup_admin:api_permission_groups.edit",
                       kwargs={"pk": permission_groups.pk})
    assert response.url == edit_url

    response, soup = client.response_and_soup(edit_url)
    assert response.status_code == 200
    inputs = extract_form_fields(soup)
    new_name = printable_gibberish()
    inputs["base-name"] = new_name
    inputs["base-groups"] = [group2.pk, group1.pk]
    response = client.post(edit_url, data=inputs)
    assert response.status_code == 302
    assert response.url == edit_url

    permission_groups.refresh_from_db()
    assert permission_groups.name == new_name
    assert permission_groups.groups.count() == 2
    assert group1 in permission_groups.groups.all()
    assert group2 in permission_groups.groups.all()
Ejemplo n.º 2
0
def test_create_api_access(rf, admin_user):
    shop = factories.get_default_shop()
    client = SmartClient()
    client.force_login(admin_user)

    url = reverse("shuup_admin:api_access.new")
    response, soup = client.response_and_soup(url)
    assert response.status_code == 200

    inputs = extract_form_fields(soup)
    name = printable_gibberish()
    inputs["base-name"] = name
    inputs["base-enabled"] = False

    assert APIAccess.objects.count() == 0

    response = client.post(url, data=inputs)
    assert response.status_code == 302

    api_access = APIAccess.objects.first()
    assert api_access.enabled is False
    assert api_access.name == name

    edit_url = reverse("shuup_admin:api_access.edit",
                       kwargs={"pk": api_access.pk})
    assert response.url == edit_url

    response, soup = client.response_and_soup(edit_url)
    assert response.status_code == 200
    inputs = extract_form_fields(soup)
    new_name = printable_gibberish()
    inputs["base-name"] = new_name
    inputs["base-enabled"] = True
    response = client.post(edit_url, data=inputs)
    assert response.status_code == 302
    assert response.url == edit_url

    api_access.refresh_from_db()
    assert api_access.enabled
    assert api_access.name == new_name