Break up the one-query-of-doom

The single query was producing a tremendously large ActiveRecord allocation.

While this isn't nearly as cool as one query, it's still a significant
reduction in SQL trips, and now has the bonus of only loading what is
actually going to be displayed.
This commit is contained in:
James Mason 2017-12-21 19:06:36 -08:00
parent 754d201b01
commit fa55224163
26 changed files with 181 additions and 165 deletions

View file

@ -13,7 +13,7 @@ feature Splashpage do
visit admin_conference_splashpage_path(conference.short_title)
click_link 'Create Splashpage'
click_button 'Save Splashpage'
click_button 'Save Changes'
expect(flash).to eq('Splashpage successfully created.')
expect(current_path).to eq(admin_conference_splashpage_path(conference.short_title))
@ -28,7 +28,7 @@ feature Splashpage do
click_link 'Edit'
check('Make splash page public')
click_button 'Save Splashpage'
click_button 'Save Changes'
expect(flash).to eq('Splashpage successfully updated.')
expect(current_path).to eq(admin_conference_splashpage_path(conference.short_title))

View file

@ -233,18 +233,18 @@ feature 'Version' do
scenario 'display changes in splashpages', feature: true, versioning: true, js: true do
visit admin_conference_splashpage_path(conference.short_title)
click_link 'Create Splashpage'
click_button 'Save Splashpage'
click_button 'Save Changes'
click_link 'Edit'
uncheck('Display program')
uncheck('Display call for papers and call for tracks information on splashpage, while open')
uncheck('Display venue')
uncheck('Display the program')
uncheck('Display call for papers and call for tracks, while open')
uncheck('Display the venue')
uncheck('Display tickets')
uncheck('Display the lodgings')
uncheck('Display sponsors')
uncheck('Display social media')
uncheck('Display social media links')
check('Make splash page public?')
click_button 'Save Splashpage'
click_button 'Save Changes'
splashpage_id = conference.splashpage.id
click_link 'Delete'