Quellcode durchsuchen

Update Rails systems specs for graphql, et al

Andrew Swistak vor 6 Jahren
Ursprung
Commit
5ea7888edc

+ 6 - 14
spec/capybara_helper.rb

@@ -1,5 +1,11 @@
+# frozen_string_literal: true
+
 require 'capybara/rspec'
 require 'selenium/webdriver'
+require 'webdrivers'
+
+# Only check Webdrivers updates onces per day
+Webdrivers.cache_time = 86_400
 
 Capybara.default_max_wait_time = 10
 Capybara.server = :puma, {Silent: true}
@@ -69,20 +75,6 @@ Capybara.register_driver :headless_chrome do |app|
 
   driver = Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
 
-  ### Allow file downloads in Google Chrome when headless!!!
-  ### https://bugs.chromium.org/p/chromium/issues/detail?id=696481#c89
-  bridge = driver.browser.send(:bridge)
-
-  path = '/session/:session_id/chromium/send_command'
-  path[':session_id'] = bridge.session_id
-
-  bridge.http.call(:post, path, cmd: 'Page.setDownloadBehavior',
-                                params: {
-                                  behavior: 'allow',
-                                  downloadPath: '/tmp/downloads',
-                                })
-  ###
-
   driver
 end
 

+ 15 - 0
spec/systems/pokemon/create_spec.rb

@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe 'Pokemon Creation', type: :system do
+  before { visit('/pokemon/create') }
+
+  it 'shows me pokemon' do
+    fill_in 'nickname', with: 'Volcanion'
+    fill_in 'pokedexNumber', with: 721
+    click_button 'Submit'
+    expect(page).to have_current_path('/pokemon')
+    expect(page).to have_text 'Volcanion'
+  end
+end

+ 19 - 0
spec/systems/pokemon/viewing_spec.rb

@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe 'Pokemon', type: :system do
+  let!(:pokemon) { create_list(:pokemon, 10) }
+
+  context 'viewing' do
+    context 'on the index page' do
+      before { visit('/pokemon') }
+
+      it 'shows me pokemon' do
+        pokemon.each do |pkmn|
+          expect(page).to have_text pkmn.nickname
+        end
+      end
+    end
+  end
+end

+ 5 - 17
spec/systems/pokemon_spec.rb

@@ -5,24 +5,12 @@ require 'rails_helper'
 RSpec.describe 'Pokemon', type: :system do
   let!(:pokemon) { create_list(:pokemon, 10) }
 
-  context 'viewing' do
-    context 'on the index page' do
-      before { visit('/pokemon') }
+  context 'on the index page' do
+    before { visit('/pokemon') }
 
-      it 'shows me pokemon' do
-        pokemon.each do |pkmn|
-          expect(page).to have_text pkmn.nickname
-        end
-      end
-    end
-
-    context 'individual pokemon' do
-      let!(:random_pokemon) { pokemon.sample }
-      before { visit("/pokemon/#{random_pokemon.id}") }
-
-      it 'shows me the pokemon' do
-        expect(page).to have_text random_pokemon.id
-        expect(page).to have_text random_pokemon.nickname
+    it 'shows me pokemon' do
+      pokemon.each do |pkmn|
+        expect(page).to have_text pkmn.nickname
       end
     end
   end