From b15e36ea08a15c6201a0bf783bd0816b223974a8 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Thu, 11 May 2017 18:32:12 +0300 Subject: [PATCH 01/10] Include "factory_girl_rails" gem in development --- Gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index 0f9ba3511..fcec0254c 100644 --- a/Gemfile +++ b/Gemfile @@ -130,6 +130,7 @@ end group :development, :test do gem 'capybara' gem 'rspec-rails', '~> 3.5' + gem 'factory_girl_rails' gem 'fabrication', '2.13.2' # Replacement for fixtures gem 'phantomjs-binaries' gem 'phantomjs' @@ -158,7 +159,6 @@ end group :test do gem 'database_cleaner' - gem 'factory_girl_rails' gem 'codeclimate-test-reporter', "~> 1.0.0" gem 'simplecov' gem 'webmock' From 33a54a7bda5a20b0377f886950732cb94a2df33c Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Thu, 11 May 2017 19:05:58 +0300 Subject: [PATCH 02/10] Improve "admin_user" factory --- spec/factories/admin_user.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/factories/admin_user.rb b/spec/factories/admin_user.rb index 8ee6b93b9..0714d9f1f 100644 --- a/spec/factories/admin_user.rb +++ b/spec/factories/admin_user.rb @@ -1,7 +1,7 @@ FactoryGirl.define do factory :admin_user do username 'test' - email 'test@test.com' + sequence(:email) { |n| "test#{n}@test.com" } password 'a' * AdminUser.min_password_length password_confirmation { password } country_code 'de' From 7d7fa65947a0d523f13ef1cf44b4789e8ed10775 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 15 May 2017 00:27:39 +0300 Subject: [PATCH 03/10] Revert "Include "factory_girl_rails" gem in development" This reverts commit b15e36ea08a15c6201a0bf783bd0816b223974a8. --- Gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index fcec0254c..0f9ba3511 100644 --- a/Gemfile +++ b/Gemfile @@ -130,7 +130,6 @@ end group :development, :test do gem 'capybara' gem 'rspec-rails', '~> 3.5' - gem 'factory_girl_rails' gem 'fabrication', '2.13.2' # Replacement for fixtures gem 'phantomjs-binaries' gem 'phantomjs' @@ -159,6 +158,7 @@ end group :test do gem 'database_cleaner' + gem 'factory_girl_rails' gem 'codeclimate-test-reporter', "~> 1.0.0" gem 'simplecov' gem 'webmock' From afe5a0847295bc610af1f77ce15eb9153cfd90a5 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Sat, 20 May 2017 17:40:14 +0300 Subject: [PATCH 04/10] Include translation helpers in mailer specs --- spec/rails_helper.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 771052f4b..0006986b0 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -28,6 +28,7 @@ RSpec.configure do |config| config.include Features::SessionHelpers, type: :feature config.include AbstractController::Translation, type: :request config.include AbstractController::Translation, type: :feature + config.include AbstractController::Translation, type: :mailer config.include Requests::EPPHelpers, type: :request config.define_derived_metadata(file_path: %r[/spec/features/]) do |metadata| From 92c0fdba94a1546a80dc2dfaee76f8af226dbd66 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 22 May 2017 14:13:36 +0300 Subject: [PATCH 05/10] Remove guard gems as unused --- .rubocop-guard.yml | 10 --------- Gemfile | 4 ---- Gemfile.lock | 39 ---------------------------------- Guardfile | 52 ---------------------------------------------- 4 files changed, 105 deletions(-) delete mode 100644 .rubocop-guard.yml delete mode 100644 Guardfile diff --git a/.rubocop-guard.yml b/.rubocop-guard.yml deleted file mode 100644 index 0ee03be6b..000000000 --- a/.rubocop-guard.yml +++ /dev/null @@ -1,10 +0,0 @@ -inherit_from: .rubocop.yml - -# -# Turn off during guard runs -# - -# turn off comment intention check during development -# because NerdCommenter honors commented code intentions -Style/CommentIndentation: - Enabled: false diff --git a/Gemfile b/Gemfile index 0f9ba3511..9798d5743 100644 --- a/Gemfile +++ b/Gemfile @@ -114,12 +114,8 @@ gem 'jquery-ui-rails', '5.0.5' group :development do - gem 'guard', '2.12.9' # run tests automatically gem 'spring', '1.3.6' gem 'spring-commands-rspec', '1.0.4' - gem 'guard-rails', '0.7.1' # run EPP server automatically - gem 'guard-rspec', '4.5.2' - gem 'guard-rubocop', '1.2.0' gem 'rubocop', '0.48.1' # deploy diff --git a/Gemfile.lock b/Gemfile.lock index 3495e9eea..239fd2994 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -204,7 +204,6 @@ GEM path_expander (~> 1.0) ruby_parser (~> 3.1, > 3.1.0) sexp_processor (~> 4.8) - formatador (0.2.5) globalid (0.3.7) activesupport (>= 4.1.0) grape (0.12.0) @@ -217,26 +216,6 @@ GEM rack-accept rack-mount virtus (>= 1.0.0) - guard (2.12.9) - formatador (>= 0.2.4) - listen (>= 2.7, <= 4.0) - lumberjack (~> 1.0) - nenv (~> 0.1) - notiffany (~> 0.0) - pry (>= 0.9.12) - shellany (~> 0.0) - thor (>= 0.18.1) - guard-compat (1.2.1) - guard-rails (0.7.1) - guard (~> 2.11) - guard-compat (~> 1.0) - guard-rspec (4.5.2) - guard (~> 2.1) - guard-compat (~> 1.1) - rspec (>= 2.99.0, < 4.0) - guard-rubocop (1.2.0) - guard (~> 2.0) - rubocop (~> 0.20) gyoku (1.3.1) builder (>= 2.1.2) haml (4.0.7) @@ -290,13 +269,8 @@ GEM libv8 (3.16.14.19) libxml-ruby (3.0.0) liquid (3.0.6) - listen (3.1.5) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - ruby_dep (~> 1.2) loofah (2.0.3) nokogiri (>= 1.5.9) - lumberjack (1.0.11) mail (2.6.4) mime-types (>= 1.16, < 4) method_source (0.8.2) @@ -320,14 +294,10 @@ GEM railties (>= 3.0) multi_json (1.12.1) multi_xml (0.6.0) - nenv (0.3.0) netrc (0.11.0) nokogiri (1.7.1) mini_portile2 (~> 2.1.0) nori (2.6.0) - notiffany (0.1.1) - nenv (~> 0.1) - shellany (~> 0.0) nprogress-rails (0.1.6.7) open4 (1.3.4) orm_adapter (0.5.0) @@ -401,9 +371,6 @@ GEM activesupport (>= 3.0) i18n polyamorous (~> 1.1) - rb-fsevent (0.9.8) - rb-inotify (0.9.8) - ffi (>= 0.5.0) rdoc (4.3.0) reek (4.6.1) codeclimate-engine-rb (~> 0.4.0) @@ -445,7 +412,6 @@ GEM ruby-progressbar (~> 1.7) unicode-display_width (~> 1.0, >= 1.0.1) ruby-progressbar (1.8.1) - ruby_dep (1.5.0) ruby_parser (3.8.4) sexp_processor (~> 4.1) rubycritic (3.2.0) @@ -480,7 +446,6 @@ GEM thor (~> 0.14) selectize-rails (0.12.1) sexp_processor (4.8.0) - shellany (0.0.1) simplecov (0.10.0) docile (~> 1.1.0) json (~> 1.8) @@ -581,10 +546,6 @@ DEPENDENCIES factory_girl_rails figaro (= 1.1.1) grape (= 0.12.0) - guard (= 2.12.9) - guard-rails (= 0.7.1) - guard-rspec (= 4.5.2) - guard-rubocop (= 1.2.0) haml-rails (= 0.9.0) hashie-forbidden_attributes (= 0.1.1) html2haml (= 2.1.0) diff --git a/Guardfile b/Guardfile deleted file mode 100644 index ab7619ed7..000000000 --- a/Guardfile +++ /dev/null @@ -1,52 +0,0 @@ -group :red_green_refactor, halt_on_fail: true do - # start test EPP server automatically on port 8989, - # be sure you have apache2 configured to - # accept EPP request on port 701, what proxy to 8989. - # port and environment is just for correct notification, all is overwritten by CLI - # guard :rails, port: 8989, environment: 'test' do - # # guard :rails, port: 8989, environment: 'test', CLI: 'RAILS_ENV=test unicorn -p 8989' do - # watch('Gemfile.lock') - # watch(%r{^(config|lib)/.*}) - # end - - # guard :rspec, cmd: 'spring rspec --fail-fast', notification: false do - guard :rspec, cmd: 'spring rspec', notification: false do - watch(%r{^spec/.+_spec\.rb$}) - watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" } - watch('spec/spec_helper.rb') { "spec" } - - # Rails example - watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" } - watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" } - watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] } - watch(%r{^app/controllers/epp/(.+)_(controller)\.rb$}) { |m| ["spec/epp/#{m[1].sub(/s$/,'')}_spec.rb"] } - watch(%r{^app/models/epp/(.+)\.rb$}) { |m| "spec/epp/#{m[1]}_spec.rb" } - watch(%r{^spec/support/(.+)\.rb$}) { "spec" } - watch('config/routes.rb') { "spec/routing" } - watch('app/controllers/application_controller.rb') { "spec/controllers" } - watch('spec/rails_helper.rb') { "spec" } - - # epp tests - watch('app/helpers/epp/contacts_helper.rb') { 'spec/epp/contact_spec.rb' } - watch('app/helpers/epp/domains_helper.rb') { 'spec/epp/domain_spec.rb' } - # Capybara features specs - watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" } - - # Turnip features and steps - watch(%r{^spec/acceptance/(.+)\.feature$}) - watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' } - end - - # Martin does not want rubocop - unless Socket.gethostname == 'martin' - guard :rubocop, - all_on_start: false, - cli: '--display-cop-names -c .rubocop-guard.yml -f fuubar', - notification: false do - - watch(%r{.+\.rb$}) - watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) } - watch(%r{(?:.+/)?\.rubocop-guard\.yml$}) { |m| File.dirname(m[0]) } - end - end -end From e76ee8baabdbb907a772a36bf53a57e43a79f8e8 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 22 May 2017 14:39:20 +0300 Subject: [PATCH 06/10] Update rspec gem to 3.6.0 --- Gemfile | 2 +- Gemfile.lock | 38 +++++++++++++++++++------------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/Gemfile b/Gemfile index 9798d5743..e75da11b3 100644 --- a/Gemfile +++ b/Gemfile @@ -125,7 +125,7 @@ end group :development, :test do gem 'capybara' - gem 'rspec-rails', '~> 3.5' + gem 'rspec-rails', '~> 3.6' gem 'fabrication', '2.13.2' # Replacement for fixtures gem 'phantomjs-binaries' gem 'phantomjs' diff --git a/Gemfile.lock b/Gemfile.lock index 239fd2994..0305e57d5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -281,7 +281,7 @@ GEM open4 (~> 1.3.4) rake mini_portile2 (2.1.0) - minitest (5.10.1) + minitest (5.10.2) monetize (1.6.0) money (~> 6.8) money (6.8.3) @@ -327,7 +327,7 @@ GEM erubis que (~> 0.8) sinatra - rack (1.6.5) + rack (1.6.8) rack-accept (0.4.5) rack (>= 0.4) rack-mount (0.8.3) @@ -384,27 +384,27 @@ GEM http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 4.0) netrc (~> 0.8) - rspec (3.5.0) - rspec-core (~> 3.5.0) - rspec-expectations (~> 3.5.0) - rspec-mocks (~> 3.5.0) - rspec-core (3.5.4) - rspec-support (~> 3.5.0) - rspec-expectations (3.5.0) + rspec (3.6.0) + rspec-core (~> 3.6.0) + rspec-expectations (~> 3.6.0) + rspec-mocks (~> 3.6.0) + rspec-core (3.6.0) + rspec-support (~> 3.6.0) + rspec-expectations (3.6.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.5.0) - rspec-mocks (3.5.0) + rspec-support (~> 3.6.0) + rspec-mocks (3.6.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.5.0) - rspec-rails (3.5.2) + rspec-support (~> 3.6.0) + rspec-rails (3.6.0) actionpack (>= 3.0) activesupport (>= 3.0) railties (>= 3.0) - rspec-core (~> 3.5.0) - rspec-expectations (~> 3.5.0) - rspec-mocks (~> 3.5.0) - rspec-support (~> 3.5.0) - rspec-support (3.5.0) + rspec-core (~> 3.6.0) + rspec-expectations (~> 3.6.0) + rspec-mocks (~> 3.6.0) + rspec-support (~> 3.6.0) + rspec-support (3.6.0) rubocop (0.48.1) parser (>= 2.3.3.1, < 3.0) powerpack (~> 0.1) @@ -579,7 +579,7 @@ DEPENDENCIES rails-settings-cached (= 0.4.1) ransack (= 1.5.1) rest-client - rspec-rails (~> 3.5) + rspec-rails (~> 3.6) rubocop (= 0.48.1) rubycritic (= 3.2.0) sass-rails (= 5.0.6) From 6cda021d7108e5746c3b97a173627e4d00ff30ea Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Tue, 23 May 2017 15:03:14 +0300 Subject: [PATCH 07/10] Remove active job rspec matcher It is built-in in latest rspec --- spec/rails_helper.rb | 1 - spec/support/matchers/active_job.rb | 252 ---------------------------- 2 files changed, 253 deletions(-) delete mode 100644 spec/support/matchers/active_job.rb diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 0006986b0..cd242967b 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -9,7 +9,6 @@ require 'support/requests/session_helpers' require 'support/requests/epp_helpers' require 'support/features/session_helpers' require 'support/matchers/alias_attribute' -require 'support/matchers/active_job' require 'support/matchers/epp/code' require 'support/capybara' diff --git a/spec/support/matchers/active_job.rb b/spec/support/matchers/active_job.rb deleted file mode 100644 index 1a3f70a7a..000000000 --- a/spec/support/matchers/active_job.rb +++ /dev/null @@ -1,252 +0,0 @@ -require "active_job/base" -require "active_job/arguments" - -# This matcher is needed because it is absent it rspec-rails 3.3.2 - -module RSpec - module Rails - module Matchers - # Namespace for various implementations of ActiveJob features - # - # @api private - module ActiveJob - # rubocop: disable Style/ClassLength - # @private - class Base < RSpec::Matchers::BuiltIn::BaseMatcher - def initialize - @args = [] - @queue = nil - @at = nil - @block = Proc.new {} - set_expected_number(:exactly, 1) - end - - def with(*args, &block) - @args = args - @block = block if block.present? - self - end - - def on_queue(queue) - @queue = queue - self - end - - def at(date) - @at = date - self - end - - def exactly(count) - set_expected_number(:exactly, count) - self - end - - def at_least(count) - set_expected_number(:at_least, count) - self - end - - def at_most(count) - set_expected_number(:at_most, count) - self - end - - def times - self - end - - def once - exactly(:once) - end - - def twice - exactly(:twice) - end - - def thrice - exactly(:thrice) - end - - def failure_message - "expected to enqueue #{base_message}" - end - - def failure_message_when_negated - "expected not to enqueue #{base_message}" - end - - def message_expectation_modifier - case @expectation_type - when :exactly then "exactly" - when :at_most then "at most" - when :at_least then "at least" - end - end - - def supports_block_expectations? - true - end - - private - - def check(jobs) - @matching_jobs_count = jobs.count do |job| - if serialized_attributes.all? { |key, value| value == job[key] } - args = ::ActiveJob::Arguments.deserialize(job[:args]) - @block.call(*args) - true - else - false - end - end - - case @expectation_type - when :exactly then @expected_number == @matching_jobs_count - when :at_most then @expected_number >= @matching_jobs_count - when :at_least then @expected_number <= @matching_jobs_count - end - end - - def base_message - "#{message_expectation_modifier} #{@expected_number} jobs,".tap do |msg| - msg << " with #{@args}," if @args.any? - msg << " on queue #{@queue}," if @queue - msg << " at #{@at}," if @at - msg << " but enqueued #{@matching_jobs_count}" - end - end - - def serialized_attributes - {}.tap do |attributes| - attributes[:args] = ::ActiveJob::Arguments.serialize(@args) if @args.any? - attributes[:at] = @at.to_f if @at - attributes[:queue] = @queue if @queue - attributes[:job] = @job if @job - end - end - - def set_expected_number(relativity, count) - @expectation_type = relativity - @expected_number = case count - when :once then 1 - when :twice then 2 - when :thrice then 3 - else Integer(count) - end - end - - def queue_adapter - ::ActiveJob::Base.queue_adapter - end - end - # rubocop: enable Style/ClassLength - - # @private - class HaveEnqueuedJob < Base - def initialize(job) - super() - @job = job - end - - def matches?(proc) - raise ArgumentError, "have_enqueued_job and enqueue_job only support block expectations" unless Proc === proc - - original_enqueued_jobs_count = queue_adapter.enqueued_jobs.count - proc.call - in_block_jobs = queue_adapter.enqueued_jobs.drop(original_enqueued_jobs_count) - - check(in_block_jobs) - end - end - - # @private - class HaveBeenEnqueued < Base - def matches?(job) - @job = job - check(queue_adapter.enqueued_jobs) - end - end - end - - # @api public - # Passes if a job has been enqueued inside block. May chain at_least, at_most or exactly to specify a number of times. - # - # @example - # expect { - # HeavyLiftingJob.perform_later - # }.to have_enqueued_job - # - # # Using alias - # expect { - # HeavyLiftingJob.perform_later - # }.to enqueue_job - # - # expect { - # HelloJob.perform_later - # HeavyLiftingJob.perform_later - # }.to have_enqueued_job(HelloJob).exactly(:once) - # - # expect { - # 3.times { HelloJob.perform_later } - # }.to have_enqueued_job(HelloJob).at_least(2).times - # - # expect { - # HelloJob.perform_later - # }.to have_enqueued_job(HelloJob).at_most(:twice) - # - # expect { - # HelloJob.perform_later - # HeavyLiftingJob.perform_later - # }.to have_enqueued_job(HelloJob).and have_enqueued_job(HeavyLiftingJob) - # - # expect { - # HelloJob.set(wait_until: Date.tomorrow.noon, queue: "low").perform_later(42) - # }.to have_enqueued_job.with(42).on_queue("low").at(Date.tomorrow.noon) - def have_enqueued_job(job = nil) - check_active_job_adapter - ActiveJob::HaveEnqueuedJob.new(job) - end - alias_method :enqueue_job, :have_enqueued_job - - # @api public - # Passes if a job has been enqueued. May chain at_least, at_most or exactly to specify a number of times. - # - # @example - # before { ActiveJob::Base.queue_adapter.enqueued_jobs.clear } - # - # HeavyLiftingJob.perform_later - # expect(HeavyLiftingJob).to have_been_enqueued - # - # HelloJob.perform_later - # HeavyLiftingJob.perform_later - # expect(HeavyLiftingJob).to have_been_enqueued.exactly(:once) - # - # 3.times { HelloJob.perform_later } - # expect(HelloJob).to have_been_enqueued.at_least(2).times - # - # HelloJob.perform_later - # expect(HelloJob).to enqueue_job(HelloJob).at_most(:twice) - # - # HelloJob.perform_later - # HeavyLiftingJob.perform_later - # expect(HelloJob).to have_been_enqueued - # expect(HeavyLiftingJob).to have_been_enqueued - # - # HelloJob.set(wait_until: Date.tomorrow.noon, queue: "low").perform_later(42) - # expect(HelloJob).to have_been_enqueued.with(42).on_queue("low").at(Date.tomorrow.noon) - def have_been_enqueued - check_active_job_adapter - ActiveJob::HaveBeenEnqueued.new - end - - private - - # @private - def check_active_job_adapter - return if ::ActiveJob::QueueAdapters::TestAdapter === ::ActiveJob::Base.queue_adapter - raise StandardError, "To use ActiveJob matchers set `ActiveJob::Base.queue_adapter = :test`" - end - end - end -end From 6cacf59467c3f13346e25d5da7d447e89be47c2e Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Tue, 23 May 2017 15:36:28 +0300 Subject: [PATCH 08/10] Use without_partial_double_verification instead verify_partial_doubles = false --- spec/spec_helper.rb | 10 ---------- .../admin/billing/prices/_form.html.erb_spec.rb | 11 +++++++---- spec/views/admin/domains/edit.html.erb_spec.rb | 5 ++++- .../mailers/shared/registrant/registrant_shared.rb | 4 +++- .../mailers/shared/registrar/registrar_shared.rb | 4 +++- spec/views/registrar/contacts/_form.haml_spec.rb | 13 ++++++++++--- .../contacts/form/_legal_document.haml_spec.rb | 5 ++++- spec/views/registrar/domains/_form.haml_spec.rb | 5 ++++- 8 files changed, 35 insertions(+), 22 deletions(-) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index e5e131454..03ebbc9b3 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -6,17 +6,7 @@ if ENV['TRAVIS'] SimpleCov.start end - RSpec.configure do |config| - # https://github.com/rspec/rspec-rails/issues/1076 - config.around :each, type: :view do |example| - config.mock_with :rspec do |mocks| - mocks.verify_partial_doubles = false - example.run - mocks.verify_partial_doubles = true - end - end - # rspec-expectations config goes here. You can use an alternate # assertion/expectation library such as wrong or the stdlib/minitest # assertions if you prefer. diff --git a/spec/views/admin/billing/prices/_form.html.erb_spec.rb b/spec/views/admin/billing/prices/_form.html.erb_spec.rb index ff7c55dcb..9f4ba785c 100644 --- a/spec/views/admin/billing/prices/_form.html.erb_spec.rb +++ b/spec/views/admin/billing/prices/_form.html.erb_spec.rb @@ -5,10 +5,13 @@ RSpec.describe 'admin/billing/prices/_form' do let(:price) { build_stubbed(:price) } before :example do - allow(view).to receive(:price).and_return(price) - allow(view).to receive(:zones).and_return([]) - allow(view).to receive(:operation_categories).and_return([]) - allow(view).to receive(:durations).and_return([]) + without_partial_double_verification do + allow(view).to receive(:price).and_return(price) + allow(view).to receive(:zones).and_return([]) + allow(view).to receive(:operation_categories).and_return([]) + allow(view).to receive(:durations).and_return([]) + end + stub_template '_form_errors' => '' end diff --git a/spec/views/admin/domains/edit.html.erb_spec.rb b/spec/views/admin/domains/edit.html.erb_spec.rb index b3cc5d834..212b8091b 100644 --- a/spec/views/admin/domains/edit.html.erb_spec.rb +++ b/spec/views/admin/domains/edit.html.erb_spec.rb @@ -6,7 +6,10 @@ RSpec.describe 'admin/domains/edit' do before :example do allow(DomainPresenter).to receive(:new).and_return(domain_presenter) - allow(view).to receive(:force_delete_templates) + + without_partial_double_verification do + allow(view).to receive(:force_delete_templates) + end assign(:domain, domain) diff --git a/spec/views/mailers/shared/registrant/registrant_shared.rb b/spec/views/mailers/shared/registrant/registrant_shared.rb index 07fcc3b1e..28c666d85 100644 --- a/spec/views/mailers/shared/registrant/registrant_shared.rb +++ b/spec/views/mailers/shared/registrant/registrant_shared.rb @@ -4,7 +4,9 @@ RSpec.shared_examples 'domain mailer registrant info' do let(:registrant) { instance_spy(RegistrantPresenter) } before :example do - allow(view).to receive(:registrant).and_return(registrant) + without_partial_double_verification do + allow(view).to receive(:registrant).and_return(registrant) + end end attributes = %i( diff --git a/spec/views/mailers/shared/registrar/registrar_shared.rb b/spec/views/mailers/shared/registrar/registrar_shared.rb index 2f8311545..93f228f97 100644 --- a/spec/views/mailers/shared/registrar/registrar_shared.rb +++ b/spec/views/mailers/shared/registrar/registrar_shared.rb @@ -4,7 +4,9 @@ RSpec.shared_examples 'domain mailer registrar info' do let(:registrar) { instance_spy(RegistrarPresenter) } before :example do - allow(view).to receive(:registrar).and_return(registrar) + without_partial_double_verification do + allow(view).to receive(:registrar).and_return(registrar) + end end attributes = %i( diff --git a/spec/views/registrar/contacts/_form.haml_spec.rb b/spec/views/registrar/contacts/_form.haml_spec.rb index b1ecdf0cf..c1588f0ec 100644 --- a/spec/views/registrar/contacts/_form.haml_spec.rb +++ b/spec/views/registrar/contacts/_form.haml_spec.rb @@ -4,7 +4,10 @@ RSpec.describe 'registrar/contacts/_form' do let(:contact) { instance_spy(Depp::Contact) } before :example do - allow(view).to receive(:f).and_return(ActionView::Helpers::FormBuilder.new(:contact, contact, view, {})) + without_partial_double_verification do + allow(view).to receive(:f).and_return(ActionView::Helpers::FormBuilder.new(:contact, contact, view, {})) + end + assign(:contact, contact) stub_template 'registrar/shared/_error_messages' => '' @@ -16,7 +19,9 @@ RSpec.describe 'registrar/contacts/_form' do context 'when address processing is enabled' do before do - allow(view).to receive(:address_processing?).and_return(true) + without_partial_double_verification do + allow(view).to receive(:address_processing?).and_return(true) + end end it 'has address' do @@ -27,7 +32,9 @@ RSpec.describe 'registrar/contacts/_form' do context 'when address processing is disabled' do before do - allow(view).to receive(:address_processing?).and_return(false) + without_partial_double_verification do + allow(view).to receive(:address_processing?).and_return(false) + end end it 'has no address' do diff --git a/spec/views/registrar/contacts/form/_legal_document.haml_spec.rb b/spec/views/registrar/contacts/form/_legal_document.haml_spec.rb index b5f428ca1..55ac79e9e 100644 --- a/spec/views/registrar/contacts/form/_legal_document.haml_spec.rb +++ b/spec/views/registrar/contacts/form/_legal_document.haml_spec.rb @@ -4,7 +4,10 @@ RSpec.describe 'registrar/contacts/form/_legal_document' do let(:contact) { instance_spy(Depp::Contact) } before :example do - allow(view).to receive(:f).and_return(DefaultFormBuilder.new(:depp_contact, contact, view, {})) + without_partial_double_verification do + allow(view).to receive(:f).and_return(DefaultFormBuilder.new(:depp_contact, contact, view, {})) + end + assign(:contact, contact) end diff --git a/spec/views/registrar/domains/_form.haml_spec.rb b/spec/views/registrar/domains/_form.haml_spec.rb index b7833f92a..f0e646fb8 100644 --- a/spec/views/registrar/domains/_form.haml_spec.rb +++ b/spec/views/registrar/domains/_form.haml_spec.rb @@ -4,7 +4,10 @@ RSpec.describe 'registrar/domains/_form' do let(:domain) { instance_spy(Depp::Domain) } before :example do - allow(view).to receive(:f).and_return(DefaultFormBuilder.new(:domain, domain, view, {})) + without_partial_double_verification do + allow(view).to receive(:f).and_return(DefaultFormBuilder.new(:domain, domain, view, {})) + end + assign(:domain, domain) stub_template 'registrar/domains/form/_general' => '' From bfb3b43cda8a1f013014aa1aefff10d7017a84cb Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Fri, 26 May 2017 08:42:15 +0300 Subject: [PATCH 09/10] Update webmock gem --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index ea08f79a2..50b0a05db 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -215,7 +215,7 @@ GEM haml (>= 4.0.6, < 5.0) html2haml (>= 1.0.1) railties (>= 4.0.1) - hashdiff (0.3.2) + hashdiff (0.3.4) hashie (3.5.5) hashie-forbidden_attributes (0.1.1) hashie (>= 3.0) @@ -478,7 +478,7 @@ GEM wasabi (3.5.0) httpi (~> 2.0) nokogiri (>= 1.4.2) - webmock (2.3.2) + webmock (3.0.1) addressable (>= 2.3.6) crack (>= 0.3.2) hashdiff From 433f14dd1c37d07e24a16863f3bff40274c5a650 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Fri, 26 May 2017 08:42:59 +0300 Subject: [PATCH 10/10] Update database_cleaner gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 50b0a05db..8356cec3a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -165,7 +165,7 @@ GEM daemons-rails (1.2.1) daemons multi_json (~> 1.0) - database_cleaner (1.5.3) + database_cleaner (1.6.1) deep_cloneable (2.1.1) activerecord (>= 3.1.0, < 5.0.0) descendants_tracker (0.0.4)