add API specs for completed submitter
This commit is contained in:
committed by
Pete Matsyburka
parent
69376c0faf
commit
e5db61e358
@@ -104,6 +104,21 @@ describe 'Submission API', type: :request do
|
|||||||
expect(response.parsed_body).to eq(JSON.parse(create_submission_body(submission).to_json))
|
expect(response.parsed_body).to eq(JSON.parse(create_submission_body(submission).to_json))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'creates a submission when the submitter is marked as completed' do
|
||||||
|
post '/api/submissions', headers: { 'x-auth-token': author.access_token.token }, params: {
|
||||||
|
template_id: templates[0].id,
|
||||||
|
submitters: [{ role: 'First Party', email: 'john.doe@example.com', completed: true }]
|
||||||
|
}.to_json
|
||||||
|
|
||||||
|
expect(response).to have_http_status(:ok)
|
||||||
|
|
||||||
|
submission = Submission.last
|
||||||
|
submitter = submission.submitters.first
|
||||||
|
|
||||||
|
expect(submitter.status).to eq('completed')
|
||||||
|
expect(submitter.completed_at).not_to be_nil
|
||||||
|
end
|
||||||
|
|
||||||
it 'creates a submission when some submitter roles are not provided' do
|
it 'creates a submission when some submitter roles are not provided' do
|
||||||
post '/api/submissions', headers: { 'x-auth-token': author.access_token.token }, params: {
|
post '/api/submissions', headers: { 'x-auth-token': author.access_token.token }, params: {
|
||||||
template_id: multiple_submitters_template.id,
|
template_id: multiple_submitters_template.id,
|
||||||
@@ -395,7 +410,7 @@ describe 'Submission API', type: :request do
|
|||||||
preferences: { send_email: true, send_sms: false },
|
preferences: { send_email: true, send_sms: false },
|
||||||
role: submitter.template.submitters.find { |s| s['uuid'] == submitter.uuid }['name'],
|
role: submitter.template.submitters.find { |s| s['uuid'] == submitter.uuid }['name'],
|
||||||
embed_src: "#{Docuseal::DEFAULT_APP_URL}/s/#{submitter.slug}",
|
embed_src: "#{Docuseal::DEFAULT_APP_URL}/s/#{submitter.slug}",
|
||||||
values: []
|
values: Submitters::SerializeForWebhook.build_values_array(submitter)
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -95,6 +95,23 @@ describe 'Submitter API', type: :request do
|
|||||||
expect(submitter.email).to eq('john.doe+updated@example.com')
|
expect(submitter.email).to eq('john.doe+updated@example.com')
|
||||||
expect(response.parsed_body).to eq(JSON.parse(update_submitter_body(submitter).to_json))
|
expect(response.parsed_body).to eq(JSON.parse(update_submitter_body(submitter).to_json))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'marks a submitter as completed' do
|
||||||
|
submitter = create(:submission, :with_submitters, :with_events,
|
||||||
|
template: templates[0],
|
||||||
|
created_by_user: author).submitters.first
|
||||||
|
|
||||||
|
put "/api/submitters/#{submitter.id}", headers: { 'x-auth-token': author.access_token.token }, params: {
|
||||||
|
completed: true
|
||||||
|
}.to_json
|
||||||
|
|
||||||
|
expect(response).to have_http_status(:ok)
|
||||||
|
|
||||||
|
submitter.reload
|
||||||
|
|
||||||
|
expect(submitter.status).to eq('completed')
|
||||||
|
expect(submitter.completed_at).not_to be_nil
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
@@ -134,8 +151,8 @@ describe 'Submitter API', type: :request do
|
|||||||
data: event.data.slice(:reason)
|
data: event.data.slice(:reason)
|
||||||
}
|
}
|
||||||
end,
|
end,
|
||||||
values: [],
|
values: Submitters::SerializeForWebhook.build_values_array(submitter),
|
||||||
documents: [],
|
documents: Submitters::SerializeForWebhook.build_documents_array(submitter),
|
||||||
role: submitter.template.submitters.find { |s| s['uuid'] == submitter.uuid }['name']
|
role: submitter.template.submitters.find { |s| s['uuid'] == submitter.uuid }['name']
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user