From bdfd0edff0b0584bea08766fefdeddf4fbf4e0c2 Mon Sep 17 00:00:00 2001 From: Thibault Jouan Date: Sun, 3 May 2015 18:59:57 +0000 Subject: [PATCH] Include roots for resources in rabl index views --- app/views/api/playlists/index.rabl | 2 +- app/views/api/tracks/index.rabl | 2 +- spec/integration/api/api_sign_in_spec.rb | 2 +- spec/integration/api/playlists_spec.rb | 30 +++++++++++----------- spec/integration/api/tracks_spec.rb | 32 +++++++++++++----------- 5 files changed, 37 insertions(+), 31 deletions(-) diff --git a/app/views/api/playlists/index.rabl b/app/views/api/playlists/index.rabl index 3dc40de..4d2c53c 100644 --- a/app/views/api/playlists/index.rabl +++ b/app/views/api/playlists/index.rabl @@ -1,4 +1,4 @@ -collection @playlists +collection @playlists, root: :playlists, object_root: false attribute :id attribute :name diff --git a/app/views/api/tracks/index.rabl b/app/views/api/tracks/index.rabl index 4b952c3..665c930 100644 --- a/app/views/api/tracks/index.rabl +++ b/app/views/api/tracks/index.rabl @@ -1,4 +1,4 @@ -collection @tracks +collection @tracks, root: :tracks, object_root: false attribute :id attribute :name diff --git a/spec/integration/api/api_sign_in_spec.rb b/spec/integration/api/api_sign_in_spec.rb index 042afac..acc3246 100644 --- a/spec/integration/api/api_sign_in_spec.rb +++ b/spec/integration/api/api_sign_in_spec.rb @@ -13,7 +13,7 @@ describe 'API sign in' do it 'signs the user in with valid credentials' do do_create - expect(json).to eq(id: user.id) + expect(json).to eq(user: { id: user.id }) end [:email, :password].each do |attr| diff --git a/spec/integration/api/playlists_spec.rb b/spec/integration/api/playlists_spec.rb index 4251281..bf1d32b 100644 --- a/spec/integration/api/playlists_spec.rb +++ b/spec/integration/api/playlists_spec.rb @@ -7,33 +7,35 @@ describe 'API playlists' do playlist = create :playlist get api_playlists_path, format: :json - expect(json).to match [ - a_hash_including( - id: an_instance_of(Fixnum), - name: playlist[:name] - ) - ] + expect(json).to eq( + playlists: [{ + id: playlist.id, + name: playlist.name + }] + ) end it 'shows a playlist' do playlist = create :playlist get api_playlist_path playlist, format: :json - expect(json).to match( - id: playlist.id, - name: playlist.name + expect(json).to eq( + playlist: { + id: playlist.id, + name: playlist.name + } ) end it 'creates playlist' do playlist = attributes_for :playlist - post api_playlists_path, - format: :json, - playlist: playlist + post api_playlists_path, format: :json, playlist: playlist expect(json).to match( - id: an_instance_of(Fixnum), - name: playlist[:name] + playlist: { + id: an_instance_of(Fixnum), + name: playlist[:name] + } ) end end diff --git a/spec/integration/api/tracks_spec.rb b/spec/integration/api/tracks_spec.rb index 9f00375..3ade868 100644 --- a/spec/integration/api/tracks_spec.rb +++ b/spec/integration/api/tracks_spec.rb @@ -8,26 +8,30 @@ describe 'API tracks' do track_2 = create :track, name: 'Track 2' get api_tracks_path, format: :json - expect(json).to eq [ - { - id: track_1.id, - name: 'Track 1', - sound_url: api_sound_url(track_1.sound) - }, - { - id: track_2.id, - name: 'Track 2' - } - ] + expect(json).to eq( + tracks: [ + { + id: track_1.id, + name: 'Track 1', + sound_url: api_sound_url(track_1.sound) + }, + { + id: track_2.id, + name: 'Track 2' + } + ] + ) end it 'shows a track' do track = create :track get api_track_path track, format: :json - expect(json).to match( - id: track.id, - name: track.name + expect(json).to eq( + track: { + id: track.id, + name: track.name + } ) end end