Skip to content

Commit

Permalink
feat(dunning): Add permission to DunningCampaignsResolver
Browse files Browse the repository at this point in the history
  • Loading branch information
rsempe committed Oct 15, 2024
1 parent 236f39b commit 1a13eb6
Show file tree
Hide file tree
Showing 7 changed files with 31 additions and 0 deletions.
1 change: 1 addition & 0 deletions app/config/permissions/definition.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ customers:
update:
delete:
dunning_campaigns:
view:
create:
subscriptions:
view: true
Expand Down
1 change: 1 addition & 0 deletions app/config/permissions/role-finance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ customers:
update: false
delete: false
dunning_campaigns:
view: true
create: true
subscriptions:
create: false
Expand Down
1 change: 1 addition & 0 deletions app/config/permissions/role-manager.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ customers:
update: true
delete: true
dunning_campaigns:
view: false
create: false
subscriptions:
create: true
Expand Down
2 changes: 2 additions & 0 deletions app/graphql/resolvers/dunning_campaigns_resolver.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ class DunningCampaignsResolver < Resolvers::BaseResolver

description "Query dunning campaigns of an organization"

REQUIRED_PERMISSION = "dunning_campaigns:view"

argument :applied_to_organization, Boolean, required: false
argument :limit, Integer, required: false
argument :order, String, required: false
Expand Down
1 change: 1 addition & 0 deletions schema.graphql

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 18 additions & 0 deletions schema.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions spec/graphql/resolvers/dunning_campaigns_resolver_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
require "rails_helper"

RSpec.describe Resolvers::DunningCampaignsResolver, type: :graphql do
let(:required_permission) { "dunning_campaigns:view" }
let(:query) do
<<~GQL
query {
Expand All @@ -20,10 +21,15 @@

before { dunning_campaign }

it_behaves_like "requires current user"
it_behaves_like "requires current organization"
it_behaves_like "requires permission", "dunning_campaigns:view"

it "returns a list of dunning campaigns" do
result = execute_graphql(
current_user: membership.user,
current_organization: organization,
permissions: required_permission,
query:
)

Expand Down Expand Up @@ -55,6 +61,7 @@
result = execute_graphql(
current_user: membership.user,
current_organization: create(:organization),
permissions: required_permission,
query:
)

Expand Down

0 comments on commit 1a13eb6

Please sign in to comment.