1 require 'integration_helper'
2 require 'selenium-webdriver'
5 class CollectionsTest < ActionDispatch::IntegrationTest
7 def change_persist oldstate, newstate
8 find "div[data-persistent-state='#{oldstate}']"
9 assert_raises Capybara::ElementNotFound do
10 find "div[data-persistent-state='#{newstate}']"
12 find('label', text: newstate.capitalize).click
13 find 'label.active', text: newstate.capitalize
14 find "div[data-persistent-state='#{newstate}']"
15 assert_raises Capybara::ElementNotFound do
16 find "div[data-persistent-state='#{oldstate}']"
20 ['/collections', '/'].each do |path|
21 test "Flip persistent switch at #{path}" do
22 Capybara.current_driver = Capybara.javascript_driver
23 uuid = api_fixture('collections')['foo_file']['uuid']
24 visit page_with_token('active', path)
25 within "tr[data-object-uuid='#{uuid}']" do
26 change_persist 'cache', 'persistent'
28 # Refresh page and make sure the change was committed.
30 within "tr[data-object-uuid='#{uuid}']" do
31 change_persist 'persistent', 'cache'
36 test 'Flip persistent switch on collection#show' do
37 Capybara.current_driver = Capybara.javascript_driver
38 uuid = api_fixture('collections')['foo_file']['uuid']
39 visit page_with_token('active', "/collections/#{uuid}")
40 change_persist 'cache', 'persistent'
42 change_persist 'persistent', 'cache'