From b205fb109197c1e28f9841baff76f3af80dafd07 Mon Sep 17 00:00:00 2001 From: John Hawthorn Date: Tue, 31 Oct 2017 12:54:57 -0700 Subject: [PATCH 1/5] Remove unnecessary random factory descriptions --- .../lib/spree/testing_support/factories/tax_category_factory.rb | 1 - core/lib/spree/testing_support/factories/zone_factory.rb | 2 -- 2 files changed, 3 deletions(-) diff --git a/core/lib/spree/testing_support/factories/tax_category_factory.rb b/core/lib/spree/testing_support/factories/tax_category_factory.rb index be3a3a7fb65..8137615554d 100644 --- a/core/lib/spree/testing_support/factories/tax_category_factory.rb +++ b/core/lib/spree/testing_support/factories/tax_category_factory.rb @@ -4,6 +4,5 @@ factory :tax_category, class: 'Spree::TaxCategory' do name { "TaxCategory - #{rand(999_999)}" } tax_code { "TaxCode - #{rand(999_999)}" } - description { generate(:random_string) } end end diff --git a/core/lib/spree/testing_support/factories/zone_factory.rb b/core/lib/spree/testing_support/factories/zone_factory.rb index 4a58c857b6b..1ceeb1d647e 100644 --- a/core/lib/spree/testing_support/factories/zone_factory.rb +++ b/core/lib/spree/testing_support/factories/zone_factory.rb @@ -4,7 +4,6 @@ FactoryBot.define do factory :global_zone, class: 'Spree::Zone' do name 'GlobalZone' - description { generate(:random_string) } zone_members do |proxy| zone = proxy.instance_eval { @instance } Spree::Country.all.map do |c| @@ -15,7 +14,6 @@ factory :zone, class: 'Spree::Zone' do name { generate(:random_string) } - description { generate(:random_string) } trait :with_country do countries { [create(:country)] } From 91f1025abcf4eef15d05d4656502ecb63ce72428 Mon Sep 17 00:00:00 2001 From: John Hawthorn Date: Tue, 31 Oct 2017 12:57:03 -0700 Subject: [PATCH 2/5] Prefer factory sequences to random codes --- .../spree/testing_support/factories/promotion_code_factory.rb | 2 +- core/lib/spree/testing_support/factories/user_factory.rb | 2 +- core/lib/spree/testing_support/factories/zone_factory.rb | 2 +- core/lib/spree/testing_support/sequences.rb | 2 ++ 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/core/lib/spree/testing_support/factories/promotion_code_factory.rb b/core/lib/spree/testing_support/factories/promotion_code_factory.rb index 5dff8b6adb8..d174edca4c2 100644 --- a/core/lib/spree/testing_support/factories/promotion_code_factory.rb +++ b/core/lib/spree/testing_support/factories/promotion_code_factory.rb @@ -4,6 +4,6 @@ FactoryBot.define do factory :promotion_code, class: 'Spree::PromotionCode' do promotion - value { generate(:random_code) } + sequence(:value) { |i| "code#{i}" } end end diff --git a/core/lib/spree/testing_support/factories/user_factory.rb b/core/lib/spree/testing_support/factories/user_factory.rb index cce4cce651f..eb31f37f50c 100644 --- a/core/lib/spree/testing_support/factories/user_factory.rb +++ b/core/lib/spree/testing_support/factories/user_factory.rb @@ -8,7 +8,7 @@ end factory :user, class: Spree.user_class do - email { generate(:random_email) } + email { generate(:email) } login { email } if Spree.user_class.attribute_method? :login password 'secret' password_confirmation { password } if Spree.user_class.attribute_method? :password_confirmation diff --git a/core/lib/spree/testing_support/factories/zone_factory.rb b/core/lib/spree/testing_support/factories/zone_factory.rb index 1ceeb1d647e..1d012d8063f 100644 --- a/core/lib/spree/testing_support/factories/zone_factory.rb +++ b/core/lib/spree/testing_support/factories/zone_factory.rb @@ -13,7 +13,7 @@ end factory :zone, class: 'Spree::Zone' do - name { generate(:random_string) } + sequence(:name) { |i| "Zone #{i}" } trait :with_country do countries { [create(:country)] } diff --git a/core/lib/spree/testing_support/sequences.rb b/core/lib/spree/testing_support/sequences.rb index 502904964a3..e5129623489 100644 --- a/core/lib/spree/testing_support/sequences.rb +++ b/core/lib/spree/testing_support/sequences.rb @@ -11,5 +11,7 @@ sequence(:random_description) { FFaker::Lorem.paragraphs(1 + Kernel.rand(5)).join("\n") } sequence(:random_email) { FFaker::Internet.email } sequence(:random_string) { FFaker::Lorem.sentence } + sequence(:sku) { |n| "SKU-#{n}" } + sequence(:email) { |n| "email#{n}@example.com" } end From ef0718609916d3c0b4a07076385724701e985004 Mon Sep 17 00:00:00 2001 From: John Hawthorn Date: Tue, 31 Oct 2017 13:05:14 -0700 Subject: [PATCH 3/5] Remove unnecessary ffaker requires FFaker is required where it is used. --- api/spec/spec_helper.rb | 1 - backend/spec/spec_helper.rb | 1 - core/spec/rails_helper.rb | 2 -- frontend/spec/spec_helper.rb | 1 - sample/spec/spec_helper.rb | 1 - 5 files changed, 6 deletions(-) diff --git a/api/spec/spec_helper.rb b/api/spec/spec_helper.rb index ff98e56579a..92441edc507 100644 --- a/api/spec/spec_helper.rb +++ b/api/spec/spec_helper.rb @@ -19,7 +19,6 @@ DummyApp::Migrations.auto_migrate require 'rspec/rails' -require 'ffaker' # Requires supporting ruby files with custom matchers and macros, etc, # in spec/support/ and its subdirectories. diff --git a/backend/spec/spec_helper.rb b/backend/spec/spec_helper.rb index 5a5e828ab06..d0c87dd37ca 100644 --- a/backend/spec/spec_helper.rb +++ b/backend/spec/spec_helper.rb @@ -28,7 +28,6 @@ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f } require 'database_cleaner' -require 'ffaker' require 'with_model' require 'spree/testing_support/authorization_helpers' diff --git a/core/spec/rails_helper.rb b/core/spec/rails_helper.rb index 11aba55b9fa..0042a614731 100644 --- a/core/spec/rails_helper.rb +++ b/core/spec/rails_helper.rb @@ -13,8 +13,6 @@ Dir["./spec/support/**/*.rb"].sort.each { |f| require f } -require 'ffaker' - if ENV["CHECK_TRANSLATIONS"] require "spree/testing_support/i18n" end diff --git a/frontend/spec/spec_helper.rb b/frontend/spec/spec_helper.rb index c0c162f1275..cb11446d295 100644 --- a/frontend/spec/spec_helper.rb +++ b/frontend/spec/spec_helper.rb @@ -21,7 +21,6 @@ DummyApp::Migrations.auto_migrate require 'rspec/rails' -require 'ffaker' # Requires supporting files with custom matchers and macros, etc, # in ./support/ and its subdirectories. diff --git a/sample/spec/spec_helper.rb b/sample/spec/spec_helper.rb index 267591e1bce..1068239cce4 100644 --- a/sample/spec/spec_helper.rb +++ b/sample/spec/spec_helper.rb @@ -8,7 +8,6 @@ DummyApp::Migrations.auto_migrate require 'rspec/rails' -require 'ffaker' RSpec.configure do |config| config.color = true From 82bb373d9d604d8522b677efde90b988732f5aa1 Mon Sep 17 00:00:00 2001 From: John Hawthorn Date: Tue, 31 Oct 2017 13:16:00 -0700 Subject: [PATCH 4/5] Don't use ffaker for zip codes Previously here we used TwitterCldr to generate zip codes, which we replaced with FFaker. Neither of these generated accurate zipcodes for the state they were in. We might as well just generate codes from 10001 onwards (which should mostly be valid codes in Manhattan). --- .rubocop.yml | 3 +++ core/lib/spree/testing_support/factories/address_factory.rb | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.rubocop.yml b/.rubocop.yml index 5c99204fe20..f66a4b6859d 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -286,3 +286,6 @@ Metrics/PerceivedComplexity: Bundler/OrderedGems: Enabled: false + +Style/NumericLiterals: + Enabled: false diff --git a/core/lib/spree/testing_support/factories/address_factory.rb b/core/lib/spree/testing_support/factories/address_factory.rb index 3a082c39a59..c02290759a0 100644 --- a/core/lib/spree/testing_support/factories/address_factory.rb +++ b/core/lib/spree/testing_support/factories/address_factory.rb @@ -15,7 +15,7 @@ address1 '10 Lovely Street' address2 'Northwest' city 'Herndon' - zipcode { FFaker::AddressUS.zip_code } + sequence(:zipcode, 10001) { |i| i.to_s } phone '555-555-0199' alternative_phone '555-555-0199' From 83d5ffd81c5034c889887547cc6489717713ddc9 Mon Sep 17 00:00:00 2001 From: John Hawthorn Date: Tue, 31 Oct 2017 13:20:37 -0700 Subject: [PATCH 5/5] Remove ffaker --- common_spree_dependencies.rb | 1 - core/lib/spree/testing_support/sequences.rb | 11 ----------- 2 files changed, 12 deletions(-) diff --git a/common_spree_dependencies.rb b/common_spree_dependencies.rb index b9063050fe4..1f3a20b52bc 100644 --- a/common_spree_dependencies.rb +++ b/common_spree_dependencies.rb @@ -32,7 +32,6 @@ gem 'with_model' gem 'rspec_junit_formatter' gem 'rails-controller-testing' - gem 'ffaker', require: false gem 'selenium-webdriver' end diff --git a/core/lib/spree/testing_support/sequences.rb b/core/lib/spree/testing_support/sequences.rb index e5129623489..9be7ab12eea 100644 --- a/core/lib/spree/testing_support/sequences.rb +++ b/core/lib/spree/testing_support/sequences.rb @@ -1,17 +1,6 @@ require 'factory_bot' -begin - require 'ffaker' -rescue LoadError - abort "Solidus factories require FFaker. Please add `ffaker` to your `Gemfile`." -end - FactoryBot.define do - sequence(:random_code) { FFaker::Lorem.characters(10) } - sequence(:random_description) { FFaker::Lorem.paragraphs(1 + Kernel.rand(5)).join("\n") } - sequence(:random_email) { FFaker::Internet.email } - sequence(:random_string) { FFaker::Lorem.sentence } - sequence(:sku) { |n| "SKU-#{n}" } sequence(:email) { |n| "email#{n}@example.com" } end