From 87987ac71dee48a5c7a2c5afb6cb491ff5dd8a31 Mon Sep 17 00:00:00 2001 From: Mantas Masalskis Date: Fri, 15 May 2020 00:32:49 +0300 Subject: [PATCH] Specs enhancement: avoids showing clues modal --- spec/factories/user.rb | 11 +++++++++++ spec/support/capybara/common_actions.rb | 4 ---- spec/support/capybara/set_up.rb | 8 ++------ 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/spec/factories/user.rb b/spec/factories/user.rb index 391ee0703..93da4b575 100644 --- a/spec/factories/user.rb +++ b/spec/factories/user.rb @@ -1,5 +1,9 @@ FactoryBot.define do factory :user do + transient do + intro_clues { true } + end + login { 'nicole.braun' } firstname { 'Nicole' } lastname { 'Braun' } @@ -10,6 +14,13 @@ FactoryBot.define do updated_by_id { 1 } created_by_id { 1 } + callback(:after_stub, :before_create) do |object, context| + next if !context.intro_clues + + object.preferences ||= {} + object.preferences[:intro] = true + end + factory :customer_user, aliases: %i[customer] do role_ids { Role.signup_role_ids.sort } diff --git a/spec/support/capybara/common_actions.rb b/spec/support/capybara/common_actions.rb index 1df10e7dd..934fae1d1 100644 --- a/spec/support/capybara/common_actions.rb +++ b/spec/support/capybara/common_actions.rb @@ -36,10 +36,6 @@ module CommonActions wait(4).until_exists do current_login end - - return if User.find_by(login: current_login).preferences[:intro] - - find(:clues_close, wait: 3).in_fixed_postion.click end # Checks if the current session is logged in. diff --git a/spec/support/capybara/set_up.rb b/spec/support/capybara/set_up.rb index 8048567dc..b29a4fc57 100644 --- a/spec/support/capybara/set_up.rb +++ b/spec/support/capybara/set_up.rb @@ -1,14 +1,10 @@ RSpec.configure do |config| config.before(:each, type: :system) do |example| - - # check if system is already set up - next if Setting.get('system_init_done') - # check if system should get set up next if !example.metadata.fetch(:set_up, true) - # perform setup via auto_wizard - Rake::Task['zammad:setup:auto_wizard'].execute + # check if system is already set up and perform setup via auto_wizard if needed + Rake::Task['zammad:setup:auto_wizard'].execute if !Setting.get('system_init_done') # skip intro/clues for created agents/admins %w[master@example.com agent1@example.com].each do |login|