|
48 | 48 | end |
49 | 49 |
|
50 | 50 | permissions(:report?) do |
51 | | - before do |
52 | | - codeocean_config = instance_double(CodeOcean::Config) |
53 | | - allow(CodeOcean::Config).to receive(:new).with(:code_ocean).and_return(codeocean_config) |
54 | | - allow(codeocean_config).to receive(:read).and_return({ |
55 | | - content_moderation: {report_emails: ['[email protected]']}, |
56 | | - }) |
| 51 | + context 'when report emails are configured' do |
| 52 | + before do |
| 53 | + codeocean_config = instance_double(CodeOcean::Config) |
| 54 | + allow(CodeOcean::Config).to receive(:new).with(:code_ocean).and_return(codeocean_config) |
| 55 | + allow(codeocean_config).to receive(:read).and_return({ |
| 56 | + content_moderation: {report_emails: ['[email protected]']}, |
| 57 | + }) |
| 58 | + end |
| 59 | + |
| 60 | + it 'allows anyone to report RfCs' do |
| 61 | + %i[admin external_user teacher].each do |factory_name| |
| 62 | + expect(policy).to permit(create(factory_name), create(:rfc)) |
| 63 | + end |
| 64 | + end |
57 | 65 | end |
58 | 66 |
|
59 | | - it 'allows anyone to report RfCs' do |
60 | | - %i[admin external_user teacher].each do |factory_name| |
61 | | - expect(policy).to permit(create(factory_name), create(:rfc)) |
| 67 | + context 'when no report email is configured' do |
| 68 | + before do |
| 69 | + codeocean_config = instance_double(CodeOcean::Config) |
| 70 | + allow(CodeOcean::Config).to receive(:new).with(:code_ocean).and_return(codeocean_config) |
| 71 | + allow(codeocean_config).to receive(:read).and_return({ |
| 72 | + content_moderation: {report_emails: []}, |
| 73 | + }) |
| 74 | + end |
| 75 | + |
| 76 | + it 'dose not allow reports from anyone' do |
| 77 | + %i[admin external_user teacher].each do |factory_name| |
| 78 | + expect(policy).not_to permit(create(factory_name), RequestForComment.new) |
| 79 | + end |
62 | 80 | end |
63 | 81 | end |
64 | 82 | end |
|
529 | 547 | end |
530 | 548 | end |
531 | 549 | end |
532 | | - |
533 | | - context 'when no report email is configured' do |
534 | | - permissions(:report?) do |
535 | | - it 'dose not allow reports from anyone' do |
536 | | - %i[admin external_user teacher].each do |factory_name| |
537 | | - expect(policy).not_to permit(create(factory_name), RequestForComment.new) |
538 | | - end |
539 | | - end |
540 | | - end |
541 | | - end |
542 | 550 | end |
543 | 551 | end |
0 commit comments