diff options
Diffstat (limited to 'spec/policies')
| -rw-r--r-- | spec/policies/access_link_policy_spec.rb | 10 | ||||
| -rw-r--r-- | spec/policies/access_point_policy_spec.rb | 10 | ||||
| -rw-r--r-- | spec/policies/calendar_policy_spec.rb | 16 | ||||
| -rw-r--r-- | spec/policies/company_policy_spec.rb | 5 | ||||
| -rw-r--r-- | spec/policies/connection_link_policy_spec.rb | 10 | ||||
| -rw-r--r-- | spec/policies/group_of_line_policy_spec.rb | 14 | ||||
| -rw-r--r-- | spec/policies/journey_pattern_policy_spec.rb | 10 | ||||
| -rw-r--r-- | spec/policies/line_policy_spec.rb | 11 | ||||
| -rw-r--r-- | spec/policies/line_referential_policy_spec.rb | 9 | ||||
| -rw-r--r-- | spec/policies/network_policy_spec.rb | 14 | ||||
| -rw-r--r-- | spec/policies/purchase_window_policy_spec.rb | 15 | ||||
| -rw-r--r-- | spec/policies/referential_policy_spec.rb | 13 | ||||
| -rw-r--r-- | spec/policies/route_policy_spec.rb | 12 | ||||
| -rw-r--r-- | spec/policies/routing_constraint_zone_policy_spec.rb | 10 | ||||
| -rw-r--r-- | spec/policies/sto_area_referential_policy_spec.rb | 9 | ||||
| -rw-r--r-- | spec/policies/stop_area_policy_spec.rb | 4 | ||||
| -rw-r--r-- | spec/policies/time_table_policy_spec.rb | 10 |
17 files changed, 110 insertions, 72 deletions
diff --git a/spec/policies/access_link_policy_spec.rb b/spec/policies/access_link_policy_spec.rb index 6194ae55c..9ba3ffa45 100644 --- a/spec/policies/access_link_policy_spec.rb +++ b/spec/policies/access_link_policy_spec.rb @@ -3,18 +3,18 @@ RSpec.describe AccessLinkPolicy, type: :policy do let( :record ){ build_stubbed :access_link } permissions :create? do - it_behaves_like 'permitted policy and same organisation', "access_links.create", archived: true + it_behaves_like 'permitted policy and same organisation', "access_links.create", archived_and_finalised: true end permissions :destroy? do - it_behaves_like 'permitted policy and same organisation', "access_links.destroy", archived: true + it_behaves_like 'permitted policy and same organisation', "access_links.destroy", archived_and_finalised: true end permissions :edit? do - it_behaves_like 'permitted policy and same organisation', "access_links.update", archived: true + it_behaves_like 'permitted policy and same organisation', "access_links.update", archived_and_finalised: true end permissions :new? do - it_behaves_like 'permitted policy and same organisation', "access_links.create", archived: true + it_behaves_like 'permitted policy and same organisation', "access_links.create", archived_and_finalised: true end permissions :update? do - it_behaves_like 'permitted policy and same organisation', "access_links.update", archived: true + it_behaves_like 'permitted policy and same organisation', "access_links.update", archived_and_finalised: true end end diff --git a/spec/policies/access_point_policy_spec.rb b/spec/policies/access_point_policy_spec.rb index b6bc46eb4..ec7bf1486 100644 --- a/spec/policies/access_point_policy_spec.rb +++ b/spec/policies/access_point_policy_spec.rb @@ -3,18 +3,18 @@ RSpec.describe AccessPointPolicy, type: :policy do let( :record ){ build_stubbed :access_point } permissions :create? do - it_behaves_like 'permitted policy and same organisation', "access_points.create", archived: true + it_behaves_like 'permitted policy and same organisation', "access_points.create", archived_and_finalised: true end permissions :destroy? do - it_behaves_like 'permitted policy and same organisation', "access_points.destroy", archived: true + it_behaves_like 'permitted policy and same organisation', "access_points.destroy", archived_and_finalised: true end permissions :edit? do - it_behaves_like 'permitted policy and same organisation', "access_points.update", archived: true + it_behaves_like 'permitted policy and same organisation', "access_points.update", archived_and_finalised: true end permissions :new? do - it_behaves_like 'permitted policy and same organisation', "access_points.create", archived: true + it_behaves_like 'permitted policy and same organisation', "access_points.create", archived_and_finalised: true end permissions :update? do - it_behaves_like 'permitted policy and same organisation', "access_points.update", archived: true + it_behaves_like 'permitted policy and same organisation', "access_points.update", archived_and_finalised: true end end diff --git a/spec/policies/calendar_policy_spec.rb b/spec/policies/calendar_policy_spec.rb index 294be8198..144a1c6bb 100644 --- a/spec/policies/calendar_policy_spec.rb +++ b/spec/policies/calendar_policy_spec.rb @@ -5,18 +5,24 @@ RSpec.describe CalendarPolicy, type: :policy do permissions :create? do - it_behaves_like 'permitted policy', 'calendars.create', archived: true + it_behaves_like 'permitted policy', 'calendars.create' + end + permissions :share? do + it_behaves_like 'permitted policy and same organisation', 'calendars.share' + end + permissions :share? do + it_behaves_like 'permitted policy and same organisation', 'calendars.share' end permissions :destroy? do - it_behaves_like 'permitted policy and same organisation', 'calendars.destroy', archived: true + it_behaves_like 'permitted policy and same organisation', 'calendars.destroy' end permissions :edit? do - it_behaves_like 'permitted policy and same organisation', 'calendars.update', archived: true + it_behaves_like 'permitted policy and same organisation', 'calendars.update' end permissions :new? do - it_behaves_like 'permitted policy', 'calendars.create', archived: true + it_behaves_like 'permitted policy', 'calendars.create' end permissions :update? do - it_behaves_like 'permitted policy and same organisation', 'calendars.update', archived: true + it_behaves_like 'permitted policy and same organisation', 'calendars.update' end end diff --git a/spec/policies/company_policy_spec.rb b/spec/policies/company_policy_spec.rb index e018902ca..16225c441 100644 --- a/spec/policies/company_policy_spec.rb +++ b/spec/policies/company_policy_spec.rb @@ -1,4 +1,3 @@ -# coding: utf-8 RSpec.describe CompanyPolicy, type: :policy do let( :record ){ build_stubbed :company } @@ -11,10 +10,10 @@ RSpec.describe CompanyPolicy, type: :policy do context 'Non Destructive actions →' do permissions :index? do - it_behaves_like 'always allowed', 'anything', archived: true + it_behaves_like 'always allowed', 'anything', archived_and_finalised: true end permissions :show? do - it_behaves_like 'always allowed', 'anything', archived: true + it_behaves_like 'always allowed', 'anything', archived_and_finalised: true end end diff --git a/spec/policies/connection_link_policy_spec.rb b/spec/policies/connection_link_policy_spec.rb index 23e40abe3..6fc9f95df 100644 --- a/spec/policies/connection_link_policy_spec.rb +++ b/spec/policies/connection_link_policy_spec.rb @@ -3,18 +3,18 @@ RSpec.describe ConnectionLinkPolicy, type: :policy do let( :record ){ build_stubbed :connection_link } permissions :create? do - it_behaves_like 'permitted policy and same organisation', "connection_links.create", archived: true + it_behaves_like 'permitted policy and same organisation', "connection_links.create", archived_and_finalised: true end permissions :destroy? do - it_behaves_like 'permitted policy and same organisation', "connection_links.destroy", archived: true + it_behaves_like 'permitted policy and same organisation', "connection_links.destroy", archived_and_finalised: true end permissions :edit? do - it_behaves_like 'permitted policy and same organisation', "connection_links.update", archived: true + it_behaves_like 'permitted policy and same organisation', "connection_links.update", archived_and_finalised: true end permissions :new? do - it_behaves_like 'permitted policy and same organisation', "connection_links.create", archived: true + it_behaves_like 'permitted policy and same organisation', "connection_links.create", archived_and_finalised: true end permissions :update? do - it_behaves_like 'permitted policy and same organisation', "connection_links.update", archived: true + it_behaves_like 'permitted policy and same organisation', "connection_links.update", archived_and_finalised: true end end diff --git a/spec/policies/group_of_line_policy_spec.rb b/spec/policies/group_of_line_policy_spec.rb index 29fbb1bfb..0aeab97bd 100644 --- a/spec/policies/group_of_line_policy_spec.rb +++ b/spec/policies/group_of_line_policy_spec.rb @@ -10,10 +10,10 @@ RSpec.describe GroupOfLinePolicy, type: :policy do context 'Non Destructive actions →' do permissions :index? do - it_behaves_like 'always allowed', 'anything', archived: true + it_behaves_like 'always allowed', 'anything', archived_and_finalised: true end permissions :show? do - it_behaves_like 'always allowed', 'anything', archived: true + it_behaves_like 'always allowed', 'anything', archived_and_finalised: true end end @@ -24,19 +24,19 @@ RSpec.describe GroupOfLinePolicy, type: :policy do context 'Destructive actions →' do permissions :create? do - it_behaves_like 'always forbidden', 'group_of_lines.create', archived: true + it_behaves_like 'always forbidden', 'group_of_lines.create', archived_and_finalised: true end permissions :destroy? do - it_behaves_like 'always forbidden', 'group_of_lines.destroy', archived: true + it_behaves_like 'always forbidden', 'group_of_lines.destroy', archived_and_finalised: true end permissions :edit? do - it_behaves_like 'always forbidden', 'group_of_lines.update', archived: true + it_behaves_like 'always forbidden', 'group_of_lines.update', archived_and_finalised: true end permissions :new? do - it_behaves_like 'always forbidden', 'group_of_lines.create', archived: true + it_behaves_like 'always forbidden', 'group_of_lines.create', archived_and_finalised: true end permissions :update? do - it_behaves_like 'always forbidden', 'group_of_lines.update', archived: true + it_behaves_like 'always forbidden', 'group_of_lines.update', archived_and_finalised: true end end end diff --git a/spec/policies/journey_pattern_policy_spec.rb b/spec/policies/journey_pattern_policy_spec.rb index 39f849277..b5e72d813 100644 --- a/spec/policies/journey_pattern_policy_spec.rb +++ b/spec/policies/journey_pattern_policy_spec.rb @@ -3,18 +3,18 @@ RSpec.describe JourneyPatternPolicy, type: :policy do let( :record ){ build_stubbed :journey_pattern } permissions :create? do - it_behaves_like 'permitted policy and same organisation', "journey_patterns.create", archived: true + it_behaves_like 'permitted policy and same organisation', "journey_patterns.create", archived_and_finalised: true end permissions :destroy? do - it_behaves_like 'permitted policy and same organisation', "journey_patterns.destroy", archived: true + it_behaves_like 'permitted policy and same organisation', "journey_patterns.destroy", archived_and_finalised: true end permissions :edit? do - it_behaves_like 'permitted policy and same organisation', "journey_patterns.update", archived: true + it_behaves_like 'permitted policy and same organisation', "journey_patterns.update", archived_and_finalised: true end permissions :new? do - it_behaves_like 'permitted policy and same organisation', "journey_patterns.create", archived: true + it_behaves_like 'permitted policy and same organisation', "journey_patterns.create", archived_and_finalised: true end permissions :update? do - it_behaves_like 'permitted policy and same organisation', "journey_patterns.update", archived: true + it_behaves_like 'permitted policy and same organisation', "journey_patterns.update", archived_and_finalised: true end end diff --git a/spec/policies/line_policy_spec.rb b/spec/policies/line_policy_spec.rb index 452606bcf..555008abf 100644 --- a/spec/policies/line_policy_spec.rb +++ b/spec/policies/line_policy_spec.rb @@ -1,4 +1,3 @@ -# coding: utf-8 RSpec.describe LinePolicy, type: :policy do let( :record ){ build_stubbed :line } @@ -11,10 +10,10 @@ RSpec.describe LinePolicy, type: :policy do context 'Non Destructive actions →' do permissions :index? do - it_behaves_like 'always allowed', 'anything', archived: true + it_behaves_like 'always allowed', 'anything', archived_and_finalised: true end permissions :show? do - it_behaves_like 'always allowed', 'anything', archived: true + it_behaves_like 'always allowed', 'anything', archived_and_finalised: true end end @@ -47,14 +46,14 @@ RSpec.describe LinePolicy, type: :policy do # --------------------------- permissions :create_footnote? do - it_behaves_like 'permitted policy and same organisation', 'footnotes.create', archived: true + it_behaves_like 'permitted policy and same organisation', 'footnotes.create', archived_and_finalised: true end permissions :destroy_footnote? do - it_behaves_like 'permitted policy and same organisation', 'footnotes.destroy', archived: true + it_behaves_like 'permitted policy and same organisation', 'footnotes.destroy', archived_and_finalised: true end permissions :update_footnote? do - it_behaves_like 'permitted policy and same organisation', 'footnotes.update', archived: true + it_behaves_like 'permitted policy and same organisation', 'footnotes.update', archived_and_finalised: true end end diff --git a/spec/policies/line_referential_policy_spec.rb b/spec/policies/line_referential_policy_spec.rb new file mode 100644 index 000000000..7e0a9da8e --- /dev/null +++ b/spec/policies/line_referential_policy_spec.rb @@ -0,0 +1,9 @@ +RSpec.describe LineReferentialPolicy, type: :policy do + + let( :record ){ build_stubbed :line_referential } + before { stub_policy_scope(record) } + + permissions :synchronize? do + it_behaves_like 'permitted policy', 'line_referentials.synchronize' + end +end diff --git a/spec/policies/network_policy_spec.rb b/spec/policies/network_policy_spec.rb index c09546c22..2b7bbcdca 100644 --- a/spec/policies/network_policy_spec.rb +++ b/spec/policies/network_policy_spec.rb @@ -10,10 +10,10 @@ RSpec.describe Chouette::NetworkPolicy, type: :policy do context 'Non Destructive actions →' do permissions :index? do - it_behaves_like 'always allowed', 'anything', archived: true + it_behaves_like 'always allowed', 'anything', archived_and_finalised: true end permissions :show? do - it_behaves_like 'always allowed', 'anything', archived: true + it_behaves_like 'always allowed', 'anything', archived_and_finalised: true end end @@ -24,19 +24,19 @@ RSpec.describe Chouette::NetworkPolicy, type: :policy do context 'Destructive actions →' do permissions :create? do - it_behaves_like 'always forbidden', 'networks.create', archived: true + it_behaves_like 'permitted policy', 'networks.create' end permissions :destroy? do - it_behaves_like 'always forbidden', 'networks.destroy', archived: true + it_behaves_like 'permitted policy', 'networks.destroy' end permissions :edit? do - it_behaves_like 'always forbidden', 'networks.update', archived: true + it_behaves_like 'permitted policy', 'networks.update' end permissions :new? do - it_behaves_like 'always forbidden', 'networks.create', archived: true + it_behaves_like 'permitted policy', 'networks.create' end permissions :update? do - it_behaves_like 'always forbidden', 'networks.update', archived: true + it_behaves_like 'permitted policy', 'networks.update' end end end diff --git a/spec/policies/purchase_window_policy_spec.rb b/spec/policies/purchase_window_policy_spec.rb new file mode 100644 index 000000000..184152cec --- /dev/null +++ b/spec/policies/purchase_window_policy_spec.rb @@ -0,0 +1,15 @@ +RSpec.describe PurchaseWindowPolicy, type: :policy do + + let( :record ){ build_stubbed :purchase_window } + before { stub_policy_scope(record) } + + permissions :create? do + it_behaves_like 'permitted policy and same organisation', "purchase_windows.create", archived_and_finalised: true + end + permissions :destroy? do + it_behaves_like 'permitted policy and same organisation', "purchase_windows.destroy", archived_and_finalised: true + end + permissions :update? do + it_behaves_like 'permitted policy and same organisation', "purchase_windows.update", archived_and_finalised: true + end +end diff --git a/spec/policies/referential_policy_spec.rb b/spec/policies/referential_policy_spec.rb index d00415fc6..778e14901 100644 --- a/spec/policies/referential_policy_spec.rb +++ b/spec/policies/referential_policy_spec.rb @@ -1,3 +1,4 @@ +# coding: utf-8 RSpec.describe ReferentialPolicy, type: :policy do let( :record ){ build_stubbed :referential } @@ -32,22 +33,22 @@ RSpec.describe ReferentialPolicy, type: :policy do # --------------------------------------- permissions :destroy? do - it_behaves_like 'permitted policy and same organisation', 'referentials.destroy', archived: true + it_behaves_like 'permitted policy and same organisation', 'referentials.destroy', archived_and_finalised: true end permissions :edit? do - it_behaves_like 'permitted policy and same organisation', 'referentials.update', archived: true + it_behaves_like 'permitted policy and same organisation', 'referentials.update', archived_and_finalised: true end permissions :update? do - it_behaves_like 'permitted policy and same organisation', 'referentials.update', archived: true + it_behaves_like 'permitted policy and same organisation', 'referentials.update', archived_and_finalised: true end # # Custom Permissions # ------------------ - permissions :clone? do - it_behaves_like 'permitted policy', 'referentials.create', archived: true - end + # permissions :clone? do + # it_behaves_like 'permitted policy', 'referentials.create', archived_and_finalised: true + # end permissions :archive? do diff --git a/spec/policies/route_policy_spec.rb b/spec/policies/route_policy_spec.rb index df2e41a89..5dc8be76f 100644 --- a/spec/policies/route_policy_spec.rb +++ b/spec/policies/route_policy_spec.rb @@ -3,26 +3,26 @@ RSpec.describe Chouette::RoutePolicy, type: :policy do let( :record ){ build_stubbed :route } permissions :create? do - it_behaves_like 'permitted policy and same organisation', 'routes.create', archived: true + it_behaves_like 'permitted policy and same organisation', 'routes.create', archived_and_finalised: true end permissions :duplicate? do - it_behaves_like 'permitted policy and same organisation', 'routes.create', archived: true + it_behaves_like 'permitted policy and same organisation', 'routes.create', archived_and_finalised: true end permissions :destroy? do - it_behaves_like 'permitted policy and same organisation', 'routes.destroy', archived: true + it_behaves_like 'permitted policy and same organisation', 'routes.destroy', archived_and_finalised: true end permissions :edit? do - it_behaves_like 'permitted policy and same organisation', 'routes.update', archived: true + it_behaves_like 'permitted policy and same organisation', 'routes.update', archived_and_finalised: true end permissions :new? do - it_behaves_like 'permitted policy and same organisation', 'routes.create', archived: true + it_behaves_like 'permitted policy and same organisation', 'routes.create', archived_and_finalised: true end permissions :update? do - it_behaves_like 'permitted policy and same organisation', 'routes.update', archived: true + it_behaves_like 'permitted policy and same organisation', 'routes.update', archived_and_finalised: true end end diff --git a/spec/policies/routing_constraint_zone_policy_spec.rb b/spec/policies/routing_constraint_zone_policy_spec.rb index 2ef15fa95..d619649d3 100644 --- a/spec/policies/routing_constraint_zone_policy_spec.rb +++ b/spec/policies/routing_constraint_zone_policy_spec.rb @@ -4,22 +4,22 @@ RSpec.describe RoutingConstraintZonePolicy, type: :policy do permissions :create? do - it_behaves_like 'permitted policy and same organisation', 'routing_constraint_zones.create', archived: true + it_behaves_like 'permitted policy and same organisation', 'routing_constraint_zones.create', archived_and_finalised: true end permissions :destroy? do - it_behaves_like 'permitted policy and same organisation', 'routing_constraint_zones.destroy', archived: true + it_behaves_like 'permitted policy and same organisation', 'routing_constraint_zones.destroy', archived_and_finalised: true end permissions :edit? do - it_behaves_like 'permitted policy and same organisation', 'routing_constraint_zones.update', archived: true + it_behaves_like 'permitted policy and same organisation', 'routing_constraint_zones.update', archived_and_finalised: true end permissions :new? do - it_behaves_like 'permitted policy and same organisation', 'routing_constraint_zones.create', archived: true + it_behaves_like 'permitted policy and same organisation', 'routing_constraint_zones.create', archived_and_finalised: true end permissions :update? do - it_behaves_like 'permitted policy and same organisation', 'routing_constraint_zones.update', archived: true + it_behaves_like 'permitted policy and same organisation', 'routing_constraint_zones.update', archived_and_finalised: true end end diff --git a/spec/policies/sto_area_referential_policy_spec.rb b/spec/policies/sto_area_referential_policy_spec.rb new file mode 100644 index 000000000..5bd6da427 --- /dev/null +++ b/spec/policies/sto_area_referential_policy_spec.rb @@ -0,0 +1,9 @@ +RSpec.describe StopAreaReferentialPolicy, type: :policy do + + let( :record ){ build_stubbed :stop_area_referential } + before { stub_policy_scope(record) } + + permissions :synchronize? do + it_behaves_like 'permitted policy', 'stop_area_referentials.synchronize' + end +end diff --git a/spec/policies/stop_area_policy_spec.rb b/spec/policies/stop_area_policy_spec.rb index 90835d1d8..8144c16e2 100644 --- a/spec/policies/stop_area_policy_spec.rb +++ b/spec/policies/stop_area_policy_spec.rb @@ -11,10 +11,10 @@ RSpec.describe StopAreaPolicy, type: :policy do context 'Non Destructive actions →' do permissions :index? do - it_behaves_like 'always allowed', 'anything', archived: true + it_behaves_like 'always allowed', 'anything', archived_and_finalised: true end permissions :show? do - it_behaves_like 'always allowed', 'anything', archived: true + it_behaves_like 'always allowed', 'anything', archived_and_finalised: true end end diff --git a/spec/policies/time_table_policy_spec.rb b/spec/policies/time_table_policy_spec.rb index dad3c13bc..5a2abc61d 100644 --- a/spec/policies/time_table_policy_spec.rb +++ b/spec/policies/time_table_policy_spec.rb @@ -3,22 +3,22 @@ RSpec.describe TimeTablePolicy, type: :policy do let( :record ){ build_stubbed :time_table } permissions :create? do - it_behaves_like 'permitted policy and same organisation', 'time_tables.create', archived: true + it_behaves_like 'permitted policy and same organisation', 'time_tables.create', archived_and_finalised: true end permissions :destroy? do - it_behaves_like 'permitted policy and same organisation', 'time_tables.destroy', archived: true + it_behaves_like 'permitted policy and same organisation', 'time_tables.destroy', archived_and_finalised: true end permissions :edit? do - it_behaves_like 'permitted policy and same organisation', 'time_tables.update', archived: true + it_behaves_like 'permitted policy and same organisation', 'time_tables.update', archived_and_finalised: true end permissions :new? do - it_behaves_like 'permitted policy and same organisation', 'time_tables.create', archived: true + it_behaves_like 'permitted policy and same organisation', 'time_tables.create', archived_and_finalised: true end permissions :update? do - it_behaves_like 'permitted policy and same organisation', 'time_tables.update', archived: true + it_behaves_like 'permitted policy and same organisation', 'time_tables.update', archived_and_finalised: true end end |
