Skip to content

Commit bdeccda

Browse files
committed
Test suite for POST '/measurement/measure_id/measurements'
1 parent 856ad07 commit bdeccda

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

spec/requests/measurements_request_spec.rb

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
# Test suite for GET /measures/:measure_id/measurements/:id
3939
describe 'GET /measures/:measure_id/measurements/:id' do
40-
before { get "/measures/#{measure_id}/measurements/#{id}" }
40+
before { get "/measures/#{measure_id}/measurements/#{id}", params: {}, headers: headers }
4141

4242
context 'when measure measurement exists' do
4343
it 'returns status code 200' do
@@ -61,4 +61,30 @@
6161
end
6262
end
6363
end
64+
65+
# Test suite for POST /measures/:measure_id/measurements
66+
describe 'POST /measures/:measure_id/measurements' do
67+
let(:valid_attributes) { { size: 4 }.to_json }
68+
69+
context 'when request attributes are valid' do
70+
before { post "/measures/#{measure_id}/measurements", params: valid_attributes, headers: headers}
71+
72+
it 'returns status code 201' do
73+
expect(response).to have_http_status(201)
74+
end
75+
end
76+
77+
context 'when an invalid request' do
78+
before { post "/measures/#{measure_id}/measurements", params: {}, headers: headers }
79+
80+
it 'returns status code 422' do
81+
expect(response).to have_http_status(422)
82+
end
83+
84+
it 'returns a failure message' do
85+
expect(response.body).to match(/Validation failed: Size can't be blank/)
86+
end
87+
end
88+
end
89+
6490
end

0 commit comments

Comments
 (0)