From 3bf32d51e48edc287c862d2eb7747f43262135bb Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Tue, 16 Aug 2016 08:31:54 +0200 Subject: [PATCH] Improved test. --- db/migrate/20160805000001_add_permission.rb | 1 + test/browser/maintenance_test.rb | 14 ++++++++------ test/browser_test_helper.rb | 18 ++++++++++++------ 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/db/migrate/20160805000001_add_permission.rb b/db/migrate/20160805000001_add_permission.rb index d97ebb0ab..67f6a49a8 100644 --- a/db/migrate/20160805000001_add_permission.rb +++ b/db/migrate/20160805000001_add_permission.rb @@ -327,6 +327,7 @@ class AddPermission < ActiveRecord::Migration name: 'chat', note: 'Access to %s', preferences: { + disabled: true, translations: ['Chat'] }, ) diff --git a/test/browser/maintenance_test.rb b/test/browser/maintenance_test.rb index 0eca2b31e..4395d6c7c 100644 --- a/test/browser/maintenance_test.rb +++ b/test/browser/maintenance_test.rb @@ -267,9 +267,10 @@ class MaintenanceTest < TestCase ) switch( - browser: browser1, - css: '#content .js-modeSetting', - type: 'on', + browser: browser1, + css: '#content .js-modeSetting', + type: 'on', + no_check: true, ) # check warning @@ -348,9 +349,10 @@ class MaintenanceTest < TestCase ) switch( - browser: browser1, - css: '#content .js-modeSetting', - type: 'on', + browser: browser1, + css: '#content .js-modeSetting', + type: 'on', + no_check: true, ) # check warning alert = browser1.switch_to.alert diff --git a/test/browser_test_helper.rb b/test/browser_test_helper.rb index 6a2496772..eed26a2ab 100644 --- a/test/browser_test_helper.rb +++ b/test/browser_test_helper.rb @@ -685,6 +685,7 @@ class TestCase < Test::Unit::TestCase browser: browser1, css: '.some_class', type: 'on', # 'off' + no_check: true, # do not check is switch has changed, in case if js alert ) =end @@ -697,22 +698,27 @@ class TestCase < Test::Unit::TestCase element = instance.find_elements(css: "#{params[:css]} input[type=checkbox]")[0] checked = element.attribute('checked') + if !checked if params[:type] == 'on' instance.find_elements(css: "#{params[:css]} label")[0].click sleep 2 - element = instance.find_elements(css: "#{params[:css]} input[type=checkbox]")[0] - checked = element.attribute('checked') - raise 'Switch not on!' if !checked + if params[:no_check] != true + element = instance.find_elements(css: "#{params[:css]} input[type=checkbox]")[0] + checked = element.attribute('checked') + raise 'Switch not on!' if !checked + end end elsif params[:type] == 'off' instance.find_elements(css: "#{params[:css]} label")[0].click sleep 2 - element = instance.find_elements(css: "#{params[:css]} input[type=checkbox]")[0] - checked = element.attribute('checked') - raise 'Switch not off!' if checked + if params[:no_check] != true + element = instance.find_elements(css: "#{params[:css]} input[type=checkbox]")[0] + checked = element.attribute('checked') + raise 'Switch not off!' if checked + end end end