From 10f0edac2092c612f8a030de2535bee050310603 Mon Sep 17 00:00:00 2001 From: Andrew Kvalheim Date: Sun, 29 Mar 2020 09:05:31 -0700 Subject: [PATCH] Decouple tests from unspecified data ordering These tests have been passing with SQLite, but don't reflect guaranteed behavior and with PostgreSQL failed intermittently. --- spec/controllers/api/v1/rooms_controller_spec.rb | 4 +--- spec/controllers/api/v1/speakers_controller_spec.rb | 4 +--- spec/controllers/api/v1/tracks_controller_spec.rb | 4 +--- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/spec/controllers/api/v1/rooms_controller_spec.rb b/spec/controllers/api/v1/rooms_controller_spec.rb index f8262800..1d1d9d9d 100644 --- a/spec/controllers/api/v1/rooms_controller_spec.rb +++ b/spec/controllers/api/v1/rooms_controller_spec.rb @@ -17,9 +17,7 @@ describe Api::V1::RoomsController do expect(response).to be_success - expect(json.length).to eq(2) - expect(json[0]['name']).to eq('Conference Room') - expect(json[1]['name']).to eq('Test Room') + expect(json.map { |r| r['name'] }).to contain_exactly('Conference Room', 'Test Room') end end diff --git a/spec/controllers/api/v1/speakers_controller_spec.rb b/spec/controllers/api/v1/speakers_controller_spec.rb index fdaa08a0..e71c0cd7 100644 --- a/spec/controllers/api/v1/speakers_controller_spec.rb +++ b/spec/controllers/api/v1/speakers_controller_spec.rb @@ -22,9 +22,7 @@ describe Api::V1::SpeakersController do get :index, params: { format: :json } json = JSON.parse(response.body)['speakers'] expect(response).to be_success - expect(json.length).to eq(2) - expect(json[0]['name']).to eq('Speaker') - expect(json[1]['name']).to eq('Conf_Speaker') + expect(json.map { |u| u['name'] }).to contain_exactly('Conf_Speaker', 'Speaker') end end diff --git a/spec/controllers/api/v1/tracks_controller_spec.rb b/spec/controllers/api/v1/tracks_controller_spec.rb index 65346b56..7e47e85b 100644 --- a/spec/controllers/api/v1/tracks_controller_spec.rb +++ b/spec/controllers/api/v1/tracks_controller_spec.rb @@ -16,9 +16,7 @@ describe Api::V1::TracksController do expect(response).to be_success - expect(json.length).to eq(2) - expect(json[0]['name']).to eq('Conference Track') - expect(json[1]['name']).to eq('Test Track') + expect(json.map { |t| t['name'] }).to contain_exactly('Conference Track', 'Test Track') end end