Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature specs => system specs #525

Merged
merged 4 commits into from
Mar 6, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 6 additions & 13 deletions spec/rails_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -69,23 +69,16 @@
example.run
Rails.configuration.action_controller.perform_caching = false
end
end

Capybara.register_driver :chrome do |app|
browser_options = ::Selenium::WebDriver::Chrome::Options.new
browser_options.args << '--window-size=1280,1024'
Capybara::Selenium::Driver.new(app, browser: :chrome, options: browser_options)
end
config.before type: :system do
driven_by :rack_test
end

Capybara.register_driver :headless_chrome do |app|
browser_options = ::Selenium::WebDriver::Chrome::Options.new
browser_options.args << '--headless'
browser_options.args << '--window-size=1280,1024'
Capybara::Selenium::Driver.new(app, browser: :chrome, options: browser_options)
config.before type: :system, js: true do
driven_by :selenium, using: :headless_chrome, screen_size: [1400, 1400]
end
end

Capybara.javascript_driver = ENV['CHROME'] ? :chrome : :headless_chrome

def save_timestamped_screenshot(page)
timestamp = Time.zone.now.strftime("%Y_%m_%d-%H_%M_%S")
filename = "#{method_name}-#{timestamp}.png"
Expand Down
4 changes: 2 additions & 2 deletions spec/support/helpers.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
require 'support/helpers/form_helpers'

RSpec.configure do |config|
config.include Features::SessionHelpers, type: :feature
config.include Features::FormHelpers, type: :feature
config.include Features::SessionHelpers, type: :system
config.include Features::FormHelpers, type: :system
end
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require "rails_helper"

feature "Event Dashboard" do
feature "Event Dashboard", type: :system do
let(:event) { create(:event, name: "My Event") }
let(:admin_user) { create(:user, admin: true) }
let!(:admin_teammate) { create(:teammate,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "Users Admin Dashboard" do
feature "Users Admin Dashboard", type: :system do
let(:admin_user) { create(:user, admin: true) }
let!(:admin_teammate) { create(:teammate, user: admin_user, role: 'organizer')}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "A user sees correct information for the current event and their role" do
feature "A user sees correct information for the current event and their role", type: :system do
let!(:normal_user) { create(:user) }
let!(:reviewer_user) { create(:user) }
let!(:organizer_user) { create(:user) }
Expand Down
2 changes: 1 addition & 1 deletion spec/features/event_spec.rb → spec/system/event_spec.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "Listing events for different roles" do
feature "Listing events for different roles", type: :system do
let(:event) { create(:event, name: "Greens Event", state: 'open') }
let!(:proposal) { create(:proposal_with_track, title: "A Proposal", abstract: 'foo', event: event) }
let(:normal_user) { create(:user) }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature 'Managing Speaker Invitations' do
feature 'Managing Speaker Invitations', type: :system do
let(:second_speaker_email) { 'second_speaker@example.com' }
let(:user) { create(:user) }
let(:event) { create(:event, state: 'open') }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "User's can interact with notifications" do
feature "User's can interact with notifications", type: :system do
let!(:user) { create(:user) }
let!(:notification) { create(:notification, :unread, message: 'new message', user: user) }

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature 'User Profile' do
feature 'User Profile', type: :system do
let(:user) { create(:user) }

before { login_as(user) }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "Proposals" do
feature "Proposals", type: :system do
let!(:user) { create(:user) }
let!(:event) { create(:event, state: 'open') }
let!(:closed_event) { create(:event, state: 'closed') }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature 'Speaker Invitation received' do
feature 'Speaker Invitation received', type: :system do
let(:event) { create(:event, state: 'open') }
let(:proposal) { create(:proposal_with_track,
title: 'Hello there',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "Event Guidelines" do
feature "Event Guidelines", type: :system do
let(:event) { create(:event, name: "My Event") }
let(:admin_user) { create(:user, admin: true) }
let!(:admin_teammate) { create(:teammate,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "Event Config" do
feature "Event Config", type: :system do
let(:event) { create(:event, review_tags: ["intro", "advanced"]) }

let(:organizer_user) { create(:user) }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "Event Dashboard" do
feature "Event Dashboard", type: :system do
let(:organizer_user) { create(:user) }
let!(:organizer_teammate) { create(:teammate,
user: organizer_user,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "Organizers can manage proposals" do
feature "Organizers can manage proposals", type: :system do

let(:event) { create(:event, review_tags: ['intro', 'advanced']) }
let(:proposal) { create(:proposal_with_track, event: event) }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "Organizers can manage program sessions" do
feature "Organizers can manage program sessions", type: :system do

let!(:event) { create(:event) }
let!(:session_format) { create(:session_format, event: event) }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "Organizers can manage the program" do
feature "Organizers can manage the program", type: :system do

let(:proposal) { create(:proposal_with_track, state: Proposal::State::ACCEPTED) }
let(:organizer) { create(:organizer, event: proposal.event) }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "Program team views program sessions" do
feature "Program team views program sessions", type: :system do

let(:event) { create(:event) }
let(:program_session) { create(:program_session_with_proposal, event: event) }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "Review Proposals" do
feature "Review Proposals", type: :system do
let(:event) { create(:event, state: 'open') }
let(:reviewer_user) {create(:user) }

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "Organizers can manage proposals" do
feature "Organizers can manage proposals", type: :system do
let(:event) { create(:event, review_tags: ['intro', 'advanced']) }
let(:proposal) { create(:proposal_with_track, event: event) }

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "Speaker Emails" do
feature "Speaker Emails", type: :system do
let(:event) { create(:event, name: "My Event") }
let(:admin_user) { create(:user, admin: true) }
let!(:admin_teammate) { create(:teammate,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "Organizers can manage speakers for Program Sessions" do
feature "Organizers can manage speakers for Program Sessions", type: :system do

let(:event) { create(:event) }

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature 'Event Sponsors' do
feature 'Event Sponsors', type: :system do
let(:event) { create(:event, name: 'My Event') }
let(:organizer) { create(:organizer, event: event) }

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "Teammate Invitation received" do
feature "Teammate Invitation received", type: :system do
let(:event) { create(:event, name: "My Event") }

let(:newguy_invitation) { create(:teammate, :has_been_invited, event: event, email: "new@per.son") }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "Staff Organizers can manage teammates" do
feature "Staff Organizers can manage teammates", type: :system do
let(:invitation) { create(:teammate, :has_been_invited) }

let!(:organizer_user) { create(:user) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# As a user
# I want to forgot password
# So I can visit protected areas of the site
feature 'Forgot Password', :devise do
feature 'Forgot Password', :devise, type: :system do

# Scenario: User cannot forgot password if not registered
# Given I do not exist as a user
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# As a user
# I want to sign in
# So I can visit protected areas of the site
feature 'Sign In', :devise do
feature 'Sign In', :devise, type: :system do

# Scenario: User cannot sign in if not registered
# Given I do not exist as a user
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# As a user
# I want to sign out
# So I can protect my account from unauthorized access
feature 'Sign out', :devise do
feature 'Sign out', :devise, type: :system do

# Scenario: User signs out successfully
# Given I am signed in
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# As a user
# I want to sign Up
# So I can visit protected areas of the site
feature 'Sign Up', :devise do
feature 'Sign Up', :devise, type: :system do

# Scenario: User cannot sign up if no password
# Given I do not exist as a user
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
require 'rails_helper'

include ActionView::Helpers::SanitizeHelper
feature "Website Configuration" do
feature "Website Configuration", type: :system do
let(:event) { create(:event) }
let(:organizer) { create(:organizer, event: event) }

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "Website Page Management" do
feature "Website Page Management", type: :system do
let(:event) { create(:event) }
let(:organizer) { create(:organizer, event: event) }
let!(:website) { create(:website, :with_details, event: event) }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature 'Public Page Viewing' do
feature 'Public Page Viewing', type: :system do
let(:event) { create(:event) }
let!(:website) { create(:website, event: event) }

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "website program page" do
feature "website program page", type: :system do
let(:event) { create(:event) }
let(:organizer) { create(:organizer, event: event) }
let!(:website) { create(:website, event: event) }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature "dynamic website schedule page" do
feature "dynamic website schedule page", type: :system do
let(:event) { create(:event) }
let!(:website) { create(:website, event: event) }

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'rails_helper'

feature 'Wesite displays an events sponsors' do
feature 'Wesite displays an events sponsors', type: :system do
let(:event) { create(:event, name: 'My Event') }
let!(:website) { create(:website, event: event) }
let(:organizer) { create(:organizer, event: event) }
Expand Down