Commit 54bca565 by tady

turnip途中

PoltergeistのDBエラーが解決できない
parent 1e2c9a53
......@@ -22,13 +22,20 @@ Feature: アクセス制限
# Then response includes '<!-- view:home/login -->'
Scenario: ログイン --> TOPページ
Given user login
Given login
When visit '/'
Then response code is 200
Then response includes '<!-- view:post/index -->'
Scenario: ログイン --> postsページ
Given user login
Given login
When visit '/posts'
Then response code is 200
Then response includes '<!-- view:post/index -->'
Scenario: ログイン --> ログアウト
Given login
When logout
Then response code is 200
Then response includes '<!-- view:home/login -->'
# Feature: 検索
# @javascript2
# Scenario: 検索 --> Post表示
# Given login
# And create post 'ruby is ...'
# When visit '/posts'
# And search by 'ruby'
# And click item
# Then response code is 200
# And post 'ruby' shown
......@@ -5,6 +5,9 @@ Coveralls.wear!
# This file is copied to spec/ when you run 'rails generate rspec:install'
ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)
Dir["./spec/support/**/*.rb"].sort.each { |f| require f }
require 'rspec/rails'
require 'rspec/autorun'
# require 'email_spec'
......@@ -13,15 +16,19 @@ require 'factory_girl'
require 'capybara'
require 'capybara/rspec'
## Setting for polterguist.
require 'capybara/poltergeist'
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, timeout: 30)
end
Capybara.javascript_driver = :poltergeist
# Set capybara wait time (default: 2)
Capybara.default_wait_time = 10
def register_poltergeist(config)
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, timeout: 60)
end
# Capybara.run_server = true
# Capybara.default_driver = :poltergeist
Capybara.javascript_driver = :poltergeist
Capybara.default_wait_time = 10
end
# Requires supporting ruby files with custom matchers and macros, etc,
# in spec/support/ and its subdirectories.
......@@ -87,6 +94,8 @@ RSpec.configure do |config|
DatabaseRewinder.clean
end
# Capybara.app_host = "http://127.0.0.1/"
register_poltergeist(config)
OmniAuth.config.test_mode = true
OmniAuth.config.add_mock(:google_oauth2, {
......
......@@ -22,6 +22,29 @@ step 'h1 include :string' do |string|
expect(page.find('h1')).to have_content(string)
end
step 'user login' do
step 'login' do
visit '/users/auth/google_oauth2'
end
step 'logout' do
click_on 'SignOut'
end
step 'create post :title' do |title|
Post.create title: title
end
step 'search by :query' do |query|
within("#app-search-form") do
fill_in 'q', :with => query
end
first(:css, "#app-search-form button[type='submit']").click
end
step 'click item' do
first(:css, '.post-list').click
end
step 'post :title shown' do |title|
expect(page.find('.panel-title a')).to have_content(title)
end
# class ActiveRecord::Base
# mattr_accessor :shared_connection
# @@shared_connection = nil
# def self.connection
# @@shared_connection || retrieve_connection
# end
# end
# # Forces all threads to share the same connection. This works on
# # Capybara because it starts the web server in a thread.
# ActiveRecord::Base.shared_connection = ActiveRecord::Base.connection
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment