Dry out tests for unacceptable playoff_teams_amount
This commit is contained in:
parent
07f5388f6d
commit
c8f69ccb16
|
|
@ -196,25 +196,38 @@ RSpec.describe TournamentsController, type: :controller do
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'playoff_teams_amount unacceptable' do
|
context 'playoff_teams_amount unacceptable' do
|
||||||
it 'is not a power of two' do
|
shared_examples_for 'wrong playoff_teams_amount' do
|
||||||
post :create, params: create_group_tournament_data.merge(playoff_teams_amount: 18)
|
it 'fails' do
|
||||||
expect(response).to have_http_status(:unprocessable_entity)
|
expect(response).to have_http_status(:unprocessable_entity)
|
||||||
expect(deserialize_response(response).values.first.first)
|
end
|
||||||
.to eq('playoff_teams_amount needs to be a positive power of two')
|
it 'returns the correct error message' do
|
||||||
|
expect(deserialize_response(response).values.first.first)
|
||||||
|
.to eq('playoff_teams_amount needs to be a positive power of two')
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'isn\'t positive' do
|
context 'is not a power of two' do
|
||||||
post :create, params: create_group_tournament_data.merge(playoff_teams_amount: -16)
|
before do
|
||||||
expect(response).to have_http_status(:unprocessable_entity)
|
post :create, params: create_group_tournament_data.merge(playoff_teams_amount: 18)
|
||||||
expect(deserialize_response(response).values.first.first)
|
end
|
||||||
.to eq('playoff_teams_amount needs to be a positive power of two')
|
|
||||||
|
it_should_behave_like 'wrong playoff_teams_amount'
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'isn\'t positive nor a power of two' do
|
context 'isn\'t positive' do
|
||||||
post :create, params: create_group_tournament_data.merge(playoff_teams_amount: -42)
|
before do
|
||||||
expect(response).to have_http_status(:unprocessable_entity)
|
post :create, params: create_group_tournament_data.merge(playoff_teams_amount: -16)
|
||||||
expect(deserialize_response(response).values.first.first)
|
end
|
||||||
.to eq('playoff_teams_amount needs to be a positive power of two')
|
|
||||||
|
it_should_behave_like 'wrong playoff_teams_amount'
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'isn\'t positive nor a power of two' do
|
||||||
|
before do
|
||||||
|
post :create, params: create_group_tournament_data.merge(playoff_teams_amount: -42)
|
||||||
|
end
|
||||||
|
|
||||||
|
it_should_behave_like 'wrong playoff_teams_amount'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue