diff --git a/admin/app/admin/feeds.rb b/admin/app/admin/feeds.rb index 6c5b06aad..da8fde49a 100644 --- a/admin/app/admin/feeds.rb +++ b/admin/app/admin/feeds.rb @@ -198,9 +198,9 @@ ActiveAdmin.register_page 'Feed' do column :creator column :data do |d| span style: "white-space: pre;" do - if JSON.parse(d.data).all? + begin JSON.pretty_generate(JSON.parse(d.data)) - else + rescue d.data end end diff --git a/admin/app/admin/jam_ruby_users.rb b/admin/app/admin/jam_ruby_users.rb index fa2ae8051..79f138df0 100644 --- a/admin/app/admin/jam_ruby_users.rb +++ b/admin/app/admin/jam_ruby_users.rb @@ -103,7 +103,7 @@ ActiveAdmin.register JamRuby::User, :as => 'Users' do autocomplete :user, :email, :full => true, :display_value => :autocomplete_display_name def get_autocomplete_items(parameters) - items = User.select("DISTINCT email, first_name, last_name, id").where(["email ILIKE ? OR first_name ILIKE ? OR last_name ILIKE ?", "%#{parameters[:term]}%", "%#{parameters[:term]}%", "%#{parameters[:term]}%"]) + User.select("email, first_name, last_name, id").where(["email ILIKE ? OR first_name ILIKE ? OR last_name ILIKE ?", "%#{parameters[:term]}%", "%#{parameters[:term]}%", "%#{parameters[:term]}%"]) end def create diff --git a/admin/spec/factories.rb b/admin/spec/factories.rb index bc3ac8ecf..bb947342b 100644 --- a/admin/spec/factories.rb +++ b/admin/spec/factories.rb @@ -94,8 +94,8 @@ FactoryGirl.define do association :music_session, factory: :active_music_session factory :recording_with_track do - before(:create) { |recording| - recording.recorded_tracks << FactoryGirl.create(:recorded_track, recording: recording, user: recording.owner) + before(:create) { |recording, evaluator| + recording.recorded_tracks << FactoryGirl.create(:recorded_track, recording: recording, user: evaluator.owner) } end end diff --git a/admin/spec/features/feeds_spec.rb b/admin/spec/features/feeds_spec.rb index 023263755..43505703a 100644 --- a/admin/spec/features/feeds_spec.rb +++ b/admin/spec/features/feeds_spec.rb @@ -15,7 +15,7 @@ describe 'Feeds' do let(:user) { FactoryGirl.create(:user) } let(:music_session) { FactoryGirl.create(:music_session, :creator => user) } - let(:recording) { FactoryGirl.create(:recording, :owner => user) } + let(:recording) { FactoryGirl.create(:recording_with_track, :owner => user) } let(:diagnostic) { FactoryGirl.create(:diagnostic, :user => user) } context 'empty dashboard' do @@ -40,7 +40,6 @@ describe 'Feeds' do end it 'auto-completes with email + full name', :js => true do - pending "Test not complete" within('form.feed') do fill_in 'feed_user', with: user.email[0..3] @@ -48,10 +47,9 @@ describe 'Feeds' do page.execute_script %Q{ $('form.feed input#feed_user').trigger('focus') } page.execute_script %Q{ $('form.feed input#feed_user').trigger('keydown') } - sleep 5 find('a.ui-corner-all', text: user.to_label).trigger(:click) should have_selector('form.feed #feed_user', user.to_label) - should have_selector('form.feed #feed_user_id', user.id) + should have_selector('form.feed #feed_user_id[value="' + user.id + '"]', visible:false) end end @@ -59,34 +57,29 @@ describe 'Feeds' do before(:each) do music_session.touch recording.touch - # diagnostic.touch #this factory's 'data' element is causing an exception (see factories.rb) + diagnostic.touch visit admin_feed_path end it 'shows session, recording, diagnostic' do - pending "Test not complete" - should have_selector("tr#jam_ruby_music_session_#{music_session.id}") should have_selector("tr#jam_ruby_recording_#{recording.id}") should have_selector("tr#jam_ruby_diagnostic_#{diagnostic.id}") end it 'shows activities for one user', :js => true do - pending "Test not complete" - within('form.feed') do fill_in 'feed_user', with: user.email[0..3] end page.execute_script %Q{ $('form.feed input#feed_user').trigger('focus') } page.execute_script %Q{ $('form.feed input#feed_user').trigger('keydown') } - sleep 5 find('a.ui-corner-all', text: user.to_label).trigger(:click) should have_selector('form.feed #feed_user', user.to_label) - should have_selector('form.feed #feed_user_id', user.id) - - find('form.feed').trigger(:submit) + should have_selector('form.feed #feed_user_id[value="' + user.id + '"]', visible:false) + page.execute_script %Q{ $('form.feed').trigger('submit') } + should have_selector("tr#jam_ruby_music_session_#{music_session.id}") should have_selector("tr#jam_ruby_recording_#{recording.id}") should have_selector("tr#jam_ruby_diagnostic_#{diagnostic.id}") diff --git a/admin/spec/spec_helper.rb b/admin/spec/spec_helper.rb index 6f8ef3d04..d3e24c62a 100644 --- a/admin/spec/spec_helper.rb +++ b/admin/spec/spec_helper.rb @@ -54,7 +54,7 @@ RSpec.configure do |config| # If you're not using ActiveRecord, or you'd prefer not to run each of your # examples within a transaction, remove the following line or assign false # instead of true. - config.use_transactional_fixtures = true + config.use_transactional_fixtures = false # If true, the base class of anonymous controllers will be inferred # automatically. This will be the default behavior in future versions of