Introduce capybara and first feature spec (#1801)
This commit introduces Capybara and the first feature spec.
I focused on coverage for log in for the first feature spec because that would
have prevented 624a9a7136
causing #1236.
This commit is contained in:
parent
f5cd138323
commit
92cd207c50
4 changed files with 33 additions and 0 deletions
1
Gemfile
1
Gemfile
|
@ -70,6 +70,7 @@ group :development, :test do
|
|||
end
|
||||
|
||||
group :test do
|
||||
gem 'capybara'
|
||||
gem 'faker'
|
||||
gem 'rails-controller-testing'
|
||||
gem 'rspec-sidekiq'
|
||||
|
|
10
Gemfile.lock
10
Gemfile.lock
|
@ -99,6 +99,13 @@ GEM
|
|||
sshkit (~> 1.3)
|
||||
capistrano-yarn (2.0.2)
|
||||
capistrano (~> 3.0)
|
||||
capybara (2.13.0)
|
||||
addressable
|
||||
mime-types (>= 1.16)
|
||||
nokogiri (>= 1.3.3)
|
||||
rack (>= 1.0.0)
|
||||
rack-test (>= 0.5.4)
|
||||
xpath (~> 2.0)
|
||||
chunky_png (1.3.8)
|
||||
climate_control (0.1.0)
|
||||
cocaine (0.5.8)
|
||||
|
@ -446,6 +453,8 @@ GEM
|
|||
websocket-driver (0.6.5)
|
||||
websocket-extensions (>= 0.1.0)
|
||||
websocket-extensions (0.1.2)
|
||||
xpath (2.0.0)
|
||||
nokogiri (~> 1.3)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
@ -465,6 +474,7 @@ DEPENDENCIES
|
|||
capistrano-rails
|
||||
capistrano-rbenv
|
||||
capistrano-yarn
|
||||
capybara
|
||||
coffee-rails (~> 4.1.0)
|
||||
devise
|
||||
devise-two-factor
|
||||
|
|
16
spec/features/log_in_spec.rb
Normal file
16
spec/features/log_in_spec.rb
Normal file
|
@ -0,0 +1,16 @@
|
|||
require "rails_helper"
|
||||
|
||||
feature "Log in" do
|
||||
scenario "A valid email and password user is able to log in" do
|
||||
email = "test@example.com"
|
||||
password = "password"
|
||||
Fabricate(:user, email: email, password: password)
|
||||
|
||||
visit new_user_session_path
|
||||
fill_in "user_email", with: email
|
||||
fill_in "user_password", with: password
|
||||
click_on "Log in"
|
||||
|
||||
expect(page).to have_css "div.app-holder[data-react-class=Mastodon]"
|
||||
end
|
||||
end
|
|
@ -7,6 +7,7 @@ require 'spec_helper'
|
|||
require 'rspec/rails'
|
||||
require 'webmock/rspec'
|
||||
require 'paperclip/matchers'
|
||||
require 'capybara/rspec'
|
||||
|
||||
Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
|
||||
|
||||
|
@ -24,6 +25,11 @@ RSpec.configure do |config|
|
|||
config.include Devise::Test::ControllerHelpers, type: :controller
|
||||
config.include Devise::TestHelpers, type: :view
|
||||
config.include Paperclip::Shoulda::Matchers
|
||||
|
||||
config.before :each, type: :feature do
|
||||
https = ENV['LOCAL_HTTPS'] == 'true'
|
||||
Capybara.app_host = "http#{https ? 's' : ''}://#{ENV.fetch('LOCAL_DOMAIN')}"
|
||||
end
|
||||
end
|
||||
|
||||
RSpec::Sidekiq.configure do |config|
|
||||
|
|
Loading…
Reference in a new issue