Skip to content

Commit 2bc7bb5

Browse files
committed
Add more tests for SubmitAuthorizationRequest
1 parent 8f0111c commit 2bc7bb5

File tree

1 file changed

+48
-6
lines changed

1 file changed

+48
-6
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,65 @@
11
RSpec.describe SubmitAuthorizationRequest do
22
describe '.call' do
3-
subject(:submit_authorization_request) { described_class.call(user: authorization_request.applicant, authorization_request:) }
3+
subject(:submit_authorization_request) { described_class.call(user: authorization_request.applicant, authorization_request:, authorization_request_params:) }
4+
5+
let(:authorization_request_params) { nil }
46

57
context 'with authorization request in draft state' do
6-
let(:authorization_request) { create(:authorization_request, :api_entreprise, :draft, fill_all_attributes: true) }
8+
context 'with valid authorization request' do
9+
let(:authorization_request) { create(:authorization_request, :api_entreprise, :draft, fill_all_attributes: true) }
10+
11+
it { is_expected.to be_success }
712

8-
it { is_expected.to be_success }
13+
it 'changes state to submitted' do
14+
expect { submit_authorization_request }.to change { authorization_request.reload.state }.from('draft').to('submitted')
15+
end
916

10-
it 'changes state to submitted' do
11-
expect { submit_authorization_request }.to change { authorization_request.reload.state }.from('draft').to('submitted')
17+
include_examples 'creates an event', event_name: :submit
1218
end
1319

14-
include_examples 'creates an event', event_name: :submit
20+
context 'with invalid params' do
21+
let(:authorization_request) { create(:authorization_request, :api_entreprise, :draft, fill_all_attributes: true) }
22+
23+
let(:authorization_request_params) { ActionController::Parameters.new(intitule: '') }
24+
25+
it { is_expected.to be_failure }
26+
27+
it 'does not change state' do
28+
expect { submit_authorization_request }.not_to change { authorization_request.reload.state }
29+
end
30+
31+
it 'does not create an event' do
32+
expect { submit_authorization_request }.not_to change { authorization_request.events.count }
33+
end
34+
35+
it 'does not updates params' do
36+
expect { submit_authorization_request }.not_to change { authorization_request.reload.intitule }
37+
end
38+
end
39+
40+
context 'with invalid authorization request' do
41+
let(:authorization_request) { create(:authorization_request, :api_entreprise, :draft) }
42+
43+
it { is_expected.to be_failure }
44+
45+
it 'does not change state' do
46+
expect { submit_authorization_request }.not_to change { authorization_request.reload.state }
47+
end
48+
49+
it 'does not create an event' do
50+
expect { submit_authorization_request }.not_to change { authorization_request.events.count }
51+
end
52+
end
1553
end
1654

1755
context 'with authorization request in validated state' do
1856
let(:authorization_request) { create(:authorization_request, :api_entreprise, :validated) }
1957

2058
it { is_expected.to be_a_failure }
59+
60+
it 'does not create an event' do
61+
expect { submit_authorization_request }.not_to change { authorization_request.events.count }
62+
end
2163
end
2264
end
2365
end

0 commit comments

Comments
 (0)