From cdd6b6737f54e5890c2596588d4b14a3eba47163 Mon Sep 17 00:00:00 2001 From: Thor77 Date: Mon, 8 Apr 2019 11:15:24 +0200 Subject: [PATCH] Add test for non-existing team and names --- .../tournaments_controller_spec.rb | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/spec/controllers/tournaments_controller_spec.rb b/spec/controllers/tournaments_controller_spec.rb index db028ab..3293776 100644 --- a/spec/controllers/tournaments_controller_spec.rb +++ b/spec/controllers/tournaments_controller_spec.rb @@ -80,7 +80,7 @@ RSpec.describe TournamentsController, type: :controller do apply_authentication_headers_for @user end - context 'with valid params' do + context 'with existing teams' do it 'creates a new Tournament' do expect do post :create, params: create_data @@ -107,6 +107,26 @@ RSpec.describe TournamentsController, type: :controller do expect(response.location).to eq(tournament_url(Tournament.last)) end end + + context 'with missing teams' do + it 'returns an error response' do + data = create_data + data[:teams] << { id: Team.last.id + 1 } + post :create, params: data + expect(response).to have_http_status(:not_found) + end + end + + context 'with team names' do + it 'creates teams for given names' do + data = create_data + data.delete :teams + data[:teams] = (1..12).collect { { name: Faker::Creature::Dog.name } } + expect do + post :create, params: data + end.to change(Team, :count).by(data[:teams].count) + end + end end end