add more specs
This commit is contained in:
committed by
Pete Matsyburka
parent
6f90147a11
commit
178ee47093
@@ -7,6 +7,7 @@ describe 'Submission API', type: :request do
|
||||
let!(:author) { create(:user, account:) }
|
||||
let!(:folder) { create(:template_folder, account:) }
|
||||
let!(:templates) { create_list(:template, 2, account:, author:, folder:) }
|
||||
let!(:multiple_submitters_template) { create(:template, submitter_count: 3, account:, author:, folder:) }
|
||||
|
||||
describe 'GET /api/submissions' do
|
||||
it 'returns a list of submissions' do
|
||||
@@ -57,6 +58,31 @@ describe 'Submission API', type: :request do
|
||||
expect(response.parsed_body).to eq(JSON.parse(create_submission_body(submission).to_json))
|
||||
end
|
||||
|
||||
it 'creates a submission when some submitter roles are not provided' do
|
||||
post '/api/submissions', headers: { 'x-auth-token': author.access_token.token }, params: {
|
||||
template_id: multiple_submitters_template.id,
|
||||
send_email: true,
|
||||
submitters: [
|
||||
{ role: 'First Role', email: 'john.doe@example.com' },
|
||||
{ email: 'jane.doe@example.com' },
|
||||
{ email: 'mike.doe@example.com' }
|
||||
]
|
||||
}.to_json
|
||||
|
||||
expect(response).to have_http_status(:ok)
|
||||
|
||||
submission = Submission.last
|
||||
|
||||
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))
|
||||
expect(response.parsed_body[0]['role']).to eq('First Party')
|
||||
expect(response.parsed_body[0]['email']).to eq('john.doe@example.com')
|
||||
expect(response.parsed_body[1]['role']).to eq('Second Party')
|
||||
expect(response.parsed_body[1]['email']).to eq('jane.doe@example.com')
|
||||
expect(response.parsed_body[2]['role']).to eq('Third Party')
|
||||
expect(response.parsed_body[2]['email']).to eq('mike.doe@example.com')
|
||||
end
|
||||
|
||||
it 'returns an error if the template fields are missing' do
|
||||
templates[0].update(fields: [])
|
||||
|
||||
@@ -72,7 +98,7 @@ describe 'Submission API', type: :request do
|
||||
|
||||
it 'returns an error if submitter roles are not unique' do
|
||||
post '/api/submissions', headers: { 'x-auth-token': author.access_token.token }, params: {
|
||||
template_id: templates[0].id,
|
||||
template_id: multiple_submitters_template.id,
|
||||
send_email: true,
|
||||
submitters: [
|
||||
{ role: 'First Role', email: 'john.doe@example.com' },
|
||||
|
||||
@@ -144,8 +144,8 @@ describe 'Templates API', type: :request do
|
||||
name: template.name,
|
||||
fields: [
|
||||
{
|
||||
'uuid' => '21637fc9-0655-45df-8952-04ec64949e85',
|
||||
'submitter_uuid' => '513848eb-1096-4abc-a743-68596b5aaa4c',
|
||||
'uuid' => template.fields[0]['uuid'],
|
||||
'submitter_uuid' => template.submitters[0]['uuid'],
|
||||
'name' => 'First Name',
|
||||
'type' => 'text',
|
||||
'required' => true,
|
||||
@@ -161,8 +161,8 @@ describe 'Templates API', type: :request do
|
||||
]
|
||||
},
|
||||
{
|
||||
'uuid' => '1f97f8e3-dc82-4586-aeea-6ebed6204e46',
|
||||
'submitter_uuid' => '513848eb-1096-4abc-a743-68596b5aaa4c',
|
||||
'uuid' => template.fields[1]['uuid'],
|
||||
'submitter_uuid' => template.submitters[0]['uuid'],
|
||||
'name' => '',
|
||||
'type' => 'signature',
|
||||
'required' => true,
|
||||
|
||||
Reference in New Issue
Block a user