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