|
78 | 78 | ) |
79 | 79 | end |
80 | 80 |
|
| 81 | + let(:shared_with_other_dashboard_role) do |
| 82 | + Role.new_with_properties( |
| 83 | + name: 'Test Role 2', |
| 84 | + unique_id: 'test-role-2', |
| 85 | + group_permission: Permission::SELF, |
| 86 | + permissions: [ |
| 87 | + Permission.new(resource: Permission::DASHBOARD, actions: [Permission::DASH_SHARED_WITH_OTHERS]) |
| 88 | + ] |
| 89 | + ) |
| 90 | + end |
| 91 | + |
| 92 | + let(:shared_from_my_team_dashboard_role) do |
| 93 | + Role.new_with_properties( |
| 94 | + name: 'Test Role 3', |
| 95 | + unique_id: 'test-role-3', |
| 96 | + group_permission: Permission::SELF, |
| 97 | + permissions: [ |
| 98 | + Permission.new(resource: Permission::DASHBOARD, actions: [Permission::DASH_SHARED_FROM_MY_TEAM]) |
| 99 | + ] |
| 100 | + ) |
| 101 | + end |
| 102 | + |
81 | 103 | let(:agency) do |
82 | 104 | Agency.create!( |
83 | 105 | name: 'Test Agency', |
|
138 | 160 | ) |
139 | 161 | end |
140 | 162 |
|
| 163 | + let(:user_with_shared_with_others) do |
| 164 | + User.create!( |
| 165 | + full_name: 'User With Shared With Others', |
| 166 | + user_name: 'user_with_shared_with_others', |
| 167 | + password: 'a12345632', |
| 168 | + password_confirmation: 'a12345632', |
| 169 | + |
| 170 | + agency_id: agency.id, |
| 171 | + role: shared_with_other_dashboard_role, |
| 172 | + services: ['Test type'] |
| 173 | + ) |
| 174 | + end |
| 175 | + |
| 176 | + let(:user_with_shared_from_my_team) do |
| 177 | + User.create!( |
| 178 | + full_name: 'User With Shared From My Team', |
| 179 | + user_name: 'user_with_shared_from_my_team', |
| 180 | + password: 'a12345632', |
| 181 | + password_confirmation: 'a12345632', |
| 182 | + |
| 183 | + agency_id: agency.id, |
| 184 | + role: shared_from_my_team_dashboard_role, |
| 185 | + services: ['Test type'] |
| 186 | + ) |
| 187 | + end |
| 188 | + |
141 | 189 | let(:system_settings) do |
142 | 190 | SystemSettings.create( |
143 | 191 | default_locale: 'en', |
|
254 | 302 | expect(permitted_field_names).to include('risk_level') |
255 | 303 | end |
256 | 304 |
|
| 305 | + it 'returns the transfer_status field permitted for a role with a shared_with_other permission in dashboard' do |
| 306 | + permitted_field_names = PermittedFieldService.new(user_with_shared_with_others, Child).permitted_field_names |
| 307 | + |
| 308 | + expect(permitted_field_names).to include('transfer_status') |
| 309 | + end |
| 310 | + |
| 311 | + it 'returns the transfer_status field permitted for a role with a shared_from_my_team permission in dashboard' do |
| 312 | + permitted_field_names = PermittedFieldService.new(user_with_shared_from_my_team, Child).permitted_field_names |
| 313 | + |
| 314 | + expect(permitted_field_names).to include('transfer_status') |
| 315 | + end |
| 316 | + |
257 | 317 | describe 'MRM - Vioaltions forms and fields' do |
258 | 318 | let(:mrm_form) do |
259 | 319 | FormSection.create!(unique_id: 'A', name: 'A', parent_form: 'incident', form_group_id: 'm', fields: [mrm_field]) |
|
0 commit comments