def test_model_url(): with admin_only_urls(): with pytest.raises(NoModelUrl): get_model_url(Counter) # That's silly! p = Product() p.pk = 3 assert get_model_url(p)
def test_model_url_with_permissions(): permissions = set( ["shuup.add_product", "shuup.delete_product", "shuup.change_product"]) p = Product() p.pk = 3 # If no user is given, don't check for permissions assert get_model_url(p) # If a user is given and no permissions are provided, check for default model permissions user = StaffUser() with pytest.raises(NoModelUrl): assert get_model_url(p, user=user) # If a user is given and permissions are provided, check for those permissions assert get_model_url(p, user=user, required_permissions=()) with pytest.raises(NoModelUrl): assert get_model_url(p, user=user, required_permissions=["shuup.add_product"]) # Confirm that url is returned with correct permissions user.permissions = permissions assert get_model_url(p, user=user) assert get_model_url(p, user=user, required_permissions=permissions)
def test_model_url_with_permissions(): permissions = set(["shuup.add_product", "shuup.delete_product", "shuup.change_product"]) p = Product() p.pk = 3 # If no user is given, don't check for permissions assert get_model_url(p) # If a user is given and no permissions are provided, check for default model permissions user = StaffUser() with pytest.raises(NoModelUrl): assert get_model_url(p, user=user) # If a user is given and permissions are provided, check for those permissions assert get_model_url(p, user=user, required_permissions=()) with pytest.raises(NoModelUrl): assert get_model_url(p, user=user, required_permissions=["shuup.add_product"]) # Confirm that url is returned with correct permissions user.permissions = permissions assert get_model_url(p, user=user) assert get_model_url(p, user=user, required_permissions=permissions)