Commit 8f90de2
Changed files (3)
db
spec
features
support
db/migrate/20160430155822_create_user_sessions.rb
@@ -1,11 +1,7 @@
class CreateUserSessions < ActiveRecord::Migration
def change
create_table :user_sessions, id: :uuid do |t|
- t.belongs_to :user,
- foreign_key: true,
- type: :uuid,
- index: true,
- null: false
+ t.belongs_to :user, foreign_key: true, type: :uuid, index: true, null: false
t.string :ip
t.text :user_agent
t.datetime :accessed_at
spec/features/gyms_spec.rb
@@ -32,6 +32,7 @@ feature "Gyms", type: :feature do
it "returns gyms that match the search criteria", js: true do
subject.visit_page
+ subject.wait_for_ajax
subject.search("sait")
expect(subject).to be_on_page
spec/support/page_model.rb
@@ -16,6 +16,13 @@ class PageModel
current_path == page_path
end
+ def wait_for_ajax
+ yield if block_given?
+ Timeout.timeout(Capybara.default_max_wait_time) do
+ loop until finished_all_ajax_requests?
+ end
+ end
+
def login_with(username, password)
LoginPage.new.tap do |login_page|
login_page.visit_page
@@ -23,9 +30,17 @@ class PageModel
end
end
+ def pretty_print
+ Nokogiri::HTML(page.html)
+ end
+
private
def translate(key)
I18n.translate(key)
end
+
+ def finished_all_ajax_requests?
+ page.evaluate_script('jQuery.active').zero?
+ end
end