diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index b7d0593f62..3a3a852f27 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -380,6 +380,214 @@ Naming/VariableNumber: - 'spec/models/spree/tax_rate_spec.rb' - 'spec/requests/api/orders_spec.rb' +# Offense count: 142 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: ResponseMethods. +# ResponseMethods: response, last_response +RSpecRails/HaveHttpStatus: + Exclude: + - 'spec/controllers/admin/bulk_line_items_controller_spec.rb' + - 'spec/controllers/admin/order_cycles_controller_spec.rb' + - 'spec/controllers/admin/subscriptions_controller_spec.rb' + - 'spec/controllers/api/v0/base_controller_spec.rb' + - 'spec/controllers/api/v0/customers_controller_spec.rb' + - 'spec/controllers/api/v0/enterprises_controller_spec.rb' + - 'spec/controllers/api/v0/logos_controller_spec.rb' + - 'spec/controllers/api/v0/order_cycles_controller_spec.rb' + - 'spec/controllers/api/v0/orders_controller_spec.rb' + - 'spec/controllers/api/v0/product_images_controller_spec.rb' + - 'spec/controllers/api/v0/products_controller_spec.rb' + - 'spec/controllers/api/v0/promo_images_controller_spec.rb' + - 'spec/controllers/api/v0/reports/packing_report_spec.rb' + - 'spec/controllers/api/v0/reports_controller_spec.rb' + - 'spec/controllers/api/v0/shipments_controller_spec.rb' + - 'spec/controllers/api/v0/statuses_controller_spec.rb' + - 'spec/controllers/api/v0/taxons_controller_spec.rb' + - 'spec/controllers/api/v0/terms_and_conditions_controller_spec.rb' + - 'spec/controllers/api/v0/variants_controller_spec.rb' + - 'spec/controllers/cart_controller_spec.rb' + - 'spec/controllers/checkout_controller_spec.rb' + - 'spec/controllers/enterprises_controller_spec.rb' + - 'spec/controllers/line_items_controller_spec.rb' + - 'spec/controllers/shop_controller_spec.rb' + - 'spec/controllers/spree/admin/orders/payments/payments_controller_spec.rb' + - 'spec/controllers/spree/admin/orders_controller_spec.rb' + - 'spec/controllers/spree/admin/products_controller_spec.rb' + - 'spec/controllers/spree/credit_cards_controller_spec.rb' + - 'spec/controllers/spree/orders_controller_spec.rb' + - 'spec/controllers/stripe/callbacks_controller_spec.rb' + - 'spec/controllers/stripe/webhooks_controller_spec.rb' + - 'spec/controllers/user_passwords_controller_spec.rb' + - 'spec/controllers/user_registrations_controller_spec.rb' + - 'spec/requests/admin/images_spec.rb' + - 'spec/requests/api/routes_spec.rb' + - 'spec/requests/checkout/failed_checkout_spec.rb' + - 'spec/requests/checkout/stripe_sca_spec.rb' + - 'spec/requests/home_controller_spec.rb' + - 'spec/requests/omniauth_callbacks_controller_spec.rb' + - 'spec/services/embedded_page_service_spec.rb' + - 'spec/support/api_helper.rb' + +# Offense count: 8 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: numeric, symbolic, be_status +RSpecRails/HttpStatus: + Exclude: + - 'spec/controllers/spree/admin/products_controller_spec.rb' + - 'spec/requests/api/orders_spec.rb' + +# Offense count: 146 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: Inferences. +RSpecRails/InferredSpecType: + Exclude: + - 'engines/dfc_provider/spec/requests/addresses_spec.rb' + - 'engines/dfc_provider/spec/requests/catalog_items_spec.rb' + - 'engines/dfc_provider/spec/requests/enterprise_groups/affiliated_by_spec.rb' + - 'engines/dfc_provider/spec/requests/enterprise_groups_spec.rb' + - 'engines/dfc_provider/spec/requests/enterprises_spec.rb' + - 'engines/dfc_provider/spec/requests/offers_spec.rb' + - 'engines/dfc_provider/spec/requests/persons_spec.rb' + - 'engines/dfc_provider/spec/requests/social_medias_spec.rb' + - 'engines/dfc_provider/spec/requests/supplied_products_spec.rb' + - 'engines/web/spec/helpers/cookies_policy_helper_spec.rb' + - 'spec/controllers/admin/bulk_line_items_controller_spec.rb' + - 'spec/controllers/admin/column_preferences_controller_spec.rb' + - 'spec/controllers/admin/customers_controller_spec.rb' + - 'spec/controllers/admin/enterprises_controller_spec.rb' + - 'spec/controllers/admin/inventory_items_controller_spec.rb' + - 'spec/controllers/admin/invoice_settings_controller_spec.rb' + - 'spec/controllers/admin/matomo_settings_controller_spec.rb' + - 'spec/controllers/admin/order_cycles_controller_spec.rb' + - 'spec/controllers/admin/product_import_controller_spec.rb' + - 'spec/controllers/admin/proxy_orders_controller_spec.rb' + - 'spec/controllers/admin/reports_controller_spec.rb' + - 'spec/controllers/admin/schedules_controller_spec.rb' + - 'spec/controllers/admin/stripe_accounts_controller_spec.rb' + - 'spec/controllers/admin/stripe_connect_settings_controller_spec.rb' + - 'spec/controllers/admin/subscription_line_items_controller_spec.rb' + - 'spec/controllers/admin/subscriptions_controller_spec.rb' + - 'spec/controllers/admin/tag_rules_controller_spec.rb' + - 'spec/controllers/admin/terms_of_service_files_controller_spec.rb' + - 'spec/controllers/admin/variant_overrides_controller_spec.rb' + - 'spec/controllers/api/v0/customers_controller_spec.rb' + - 'spec/controllers/api/v0/enterprise_fees_controller_spec.rb' + - 'spec/controllers/api/v0/enterprises_controller_spec.rb' + - 'spec/controllers/api/v0/exchange_products_controller_spec.rb' + - 'spec/controllers/api/v0/logos_controller_spec.rb' + - 'spec/controllers/api/v0/order_cycles_controller_spec.rb' + - 'spec/controllers/api/v0/orders_controller_spec.rb' + - 'spec/controllers/api/v0/product_images_controller_spec.rb' + - 'spec/controllers/api/v0/products_controller_spec.rb' + - 'spec/controllers/api/v0/promo_images_controller_spec.rb' + - 'spec/controllers/api/v0/reports/packing_report_spec.rb' + - 'spec/controllers/api/v0/reports_controller_spec.rb' + - 'spec/controllers/api/v0/shipments_controller_spec.rb' + - 'spec/controllers/api/v0/shops_controller_spec.rb' + - 'spec/controllers/api/v0/statuses_controller_spec.rb' + - 'spec/controllers/api/v0/terms_and_conditions_controller_spec.rb' + - 'spec/controllers/api/v0/variants_controller_spec.rb' + - 'spec/controllers/base_controller_spec.rb' + - 'spec/controllers/cart_controller_spec.rb' + - 'spec/controllers/checkout_controller_spec.rb' + - 'spec/controllers/enterprises_controller_spec.rb' + - 'spec/controllers/groups_controller_spec.rb' + - 'spec/controllers/line_items_controller_spec.rb' + - 'spec/controllers/payment_gateways/paypal_controller_spec.rb' + - 'spec/controllers/payment_gateways/stripe_controller_spec.rb' + - 'spec/controllers/registration_controller_spec.rb' + - 'spec/controllers/shop_controller_spec.rb' + - 'spec/controllers/shops_controller_spec.rb' + - 'spec/controllers/spree/admin/adjustments_controller_spec.rb' + - 'spec/controllers/spree/admin/base_controller_spec.rb' + - 'spec/controllers/spree/admin/countries_controller_spec.rb' + - 'spec/controllers/spree/admin/general_settings_controller_spec.rb' + - 'spec/controllers/spree/admin/orders/customer_details_controller_spec.rb' + - 'spec/controllers/spree/admin/orders/invoices_spec.rb' + - 'spec/controllers/spree/admin/orders/payments/payments_controller_refunds_spec.rb' + - 'spec/controllers/spree/admin/orders/payments/payments_controller_spec.rb' + - 'spec/controllers/spree/admin/orders_controller_spec.rb' + - 'spec/controllers/spree/admin/overview_controller_spec.rb' + - 'spec/controllers/spree/admin/payment_methods_controller_spec.rb' + - 'spec/controllers/spree/admin/products_controller_spec.rb' + - 'spec/controllers/spree/admin/return_authorizations_controller_spec.rb' + - 'spec/controllers/spree/admin/search_controller_spec.rb' + - 'spec/controllers/spree/admin/shipping_categories_controller_spec.rb' + - 'spec/controllers/spree/admin/shipping_methods_controller_spec.rb' + - 'spec/controllers/spree/admin/tax_rates_controller_spec.rb' + - 'spec/controllers/spree/admin/tax_settings_controller_spec.rb' + - 'spec/controllers/spree/admin/variants_controller_spec.rb' + - 'spec/controllers/spree/api_keys_controller_spec.rb' + - 'spec/controllers/spree/credit_cards_controller_spec.rb' + - 'spec/controllers/spree/orders_controller_spec.rb' + - 'spec/controllers/spree/user_sessions_controller_spec.rb' + - 'spec/controllers/spree/users_controller_spec.rb' + - 'spec/controllers/stripe/callbacks_controller_spec.rb' + - 'spec/controllers/stripe/webhooks_controller_spec.rb' + - 'spec/controllers/user_confirmations_controller_spec.rb' + - 'spec/controllers/user_passwords_controller_spec.rb' + - 'spec/controllers/user_registrations_controller_spec.rb' + - 'spec/controllers/webhook_endpoints_controller_spec.rb' + - 'spec/helpers/admin/enterprises_helper_spec.rb' + - 'spec/helpers/admin/orders_helper_spec.rb' + - 'spec/helpers/admin/reports_helper_spec.rb' + - 'spec/helpers/admin/subscriptions_helper_spec.rb' + - 'spec/helpers/application_helper_spec.rb' + - 'spec/helpers/checkout_helper_spec.rb' + - 'spec/helpers/i18n_helper_spec.rb' + - 'spec/helpers/injection_helper_spec.rb' + - 'spec/helpers/link_helper_spec.rb' + - 'spec/helpers/navigation_helper_spec.rb' + - 'spec/helpers/order_cycles_helper_spec.rb' + - 'spec/helpers/serializer_helper_spec.rb' + - 'spec/helpers/shared_helper_spec.rb' + - 'spec/helpers/shop_helper_spec.rb' + - 'spec/helpers/spree/admin/base_helper_spec.rb' + - 'spec/helpers/spree/admin/general_settings_helper_spec.rb' + - 'spec/helpers/spree/admin/orders_helper_spec.rb' + - 'spec/helpers/spree/orders_helper_spec.rb' + - 'spec/helpers/tax_helper_spec.rb' + - 'spec/helpers/terms_and_conditions_helper_spec.rb' + - 'spec/jobs/connect_app_job_spec.rb' + - 'spec/mailers/producer_mailer_spec.rb' + - 'spec/mailers/subscription_mailer_spec.rb' + - 'spec/models/column_preference_spec.rb' + - 'spec/models/connected_app_spec.rb' + - 'spec/models/customer_spec.rb' + - 'spec/models/invoice_spec.rb' + - 'spec/models/oidc_account_spec.rb' + - 'spec/models/proxy_order_spec.rb' + - 'spec/models/report_blob_spec.rb' + - 'spec/models/semantic_link_spec.rb' + - 'spec/models/spree/gateway/stripe_sca_spec.rb' + - 'spec/models/subscription_spec.rb' + - 'spec/models/tag_rule/filter_order_cycles_spec.rb' + - 'spec/models/tag_rule/filter_payment_methods_spec.rb' + - 'spec/models/tag_rule/filter_products_spec.rb' + - 'spec/models/tag_rule/filter_shipping_methods_spec.rb' + - 'spec/models/tag_rule_spec.rb' + - 'spec/models/webhook_endpoint_spec.rb' + - 'spec/requests/admin/images_spec.rb' + - 'spec/requests/admin/product_import_spec.rb' + - 'spec/requests/admin/vouchers_spec.rb' + - 'spec/requests/api/orders_spec.rb' + - 'spec/requests/api/routes_spec.rb' + - 'spec/requests/api/v1/customers_spec.rb' + - 'spec/requests/api_docs_spec.rb' + - 'spec/requests/checkout/failed_checkout_spec.rb' + - 'spec/requests/checkout/paypal_spec.rb' + - 'spec/requests/checkout/routes_spec.rb' + - 'spec/requests/checkout/stripe_sca_spec.rb' + - 'spec/requests/errors_spec.rb' + - 'spec/requests/home_controller_spec.rb' + - 'spec/requests/large_request_spec.rb' + - 'spec/requests/omniauth_callbacks_controller_spec.rb' + - 'spec/requests/spree/admin/overview_spec.rb' + - 'spec/requests/spree/admin/payments_spec.rb' + - 'spec/requests/voucher_adjustments_spec.rb' + - 'spec/routing/stripe_spec.rb' + # Offense count: 11 # Configuration parameters: Include. # Include: app/models/**/*.rb @@ -537,7 +745,7 @@ Rails/RelativeDateConstant: Exclude: - 'lib/tasks/data/remove_transient_data.rb' -# Offense count: 58 +# Offense count: 56 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: Include. # Include: spec/controllers/**/*.rb, spec/requests/**/*.rb, test/controllers/**/*.rb, test/integration/**/*.rb diff --git a/Gemfile.lock b/Gemfile.lock index f1a2a3394a..21f2358444 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -670,10 +670,13 @@ GEM rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rspec (2.27.1) + rubocop-rspec (2.28.0) rubocop (~> 1.40) rubocop-capybara (~> 2.17) rubocop-factory_bot (~> 2.22) + rubocop-rspec_rails (~> 2.28) + rubocop-rspec_rails (2.28.2) + rubocop (~> 1.40) ruby-graphviz (1.2.5) rexml ruby-progressbar (1.13.0) diff --git a/spec/models/enterprise_spec.rb b/spec/models/enterprise_spec.rb index 8c79d69987..e764c9da73 100644 --- a/spec/models/enterprise_spec.rb +++ b/spec/models/enterprise_spec.rb @@ -260,18 +260,18 @@ describe Enterprise do it "commas at the beginning and end are disallowed" do enterprise = build(:enterprise, preferred_shopfront_taxon_order: ",1,2,3") - expect(enterprise).to be_invalid + expect(enterprise).not_to be_valid enterprise = build(:enterprise, preferred_shopfront_taxon_order: "1,2,3,") - expect(enterprise).to be_invalid + expect(enterprise).not_to be_valid end it "any other characters are invalid" do enterprise = build(:enterprise, preferred_shopfront_taxon_order: "a1,2,3") - expect(enterprise).to be_invalid + expect(enterprise).not_to be_valid enterprise = build(:enterprise, preferred_shopfront_taxon_order: ".1,2,3") - expect(enterprise).to be_invalid + expect(enterprise).not_to be_valid enterprise = build(:enterprise, preferred_shopfront_taxon_order: " 1,2,3") - expect(enterprise).to be_invalid + expect(enterprise).not_to be_valid end end @@ -295,18 +295,18 @@ describe Enterprise do it "commas at the beginning and end are disallowed" do enterprise = build(:enterprise, preferred_shopfront_producer_order: ",1,2,3") - expect(enterprise).to be_invalid + expect(enterprise).not_to be_valid enterprise = build(:enterprise, preferred_shopfront_producer_order: "1,2,3,") - expect(enterprise).to be_invalid + expect(enterprise).not_to be_valid end it "any other characters are invalid" do enterprise = build(:enterprise, preferred_shopfront_producer_order: "a1,2,3") - expect(enterprise).to be_invalid + expect(enterprise).not_to be_valid enterprise = build(:enterprise, preferred_shopfront_producer_order: ".1,2,3") - expect(enterprise).to be_invalid + expect(enterprise).not_to be_valid enterprise = build(:enterprise, preferred_shopfront_producer_order: " 1,2,3") - expect(enterprise).to be_invalid + expect(enterprise).not_to be_valid end end @@ -336,7 +336,7 @@ describe Enterprise do it "does not validate if URL is invalid and can't be infered" do e = build(:enterprise, white_label_logo_link: 'with spaces') - expect(e).to be_invalid + expect(e).not_to be_valid end end end diff --git a/spec/models/spree/product_spec.rb b/spec/models/spree/product_spec.rb index 05e5fdf52e..7efd2da024 100644 --- a/spec/models/spree/product_spec.rb +++ b/spec/models/spree/product_spec.rb @@ -273,7 +273,7 @@ module Spree product.variant_unit_name = nil product.variant_unit_scale = nil - expect(product).to be_invalid + expect(product).not_to be_valid end it "requires a unit scale when variant unit is weight" do diff --git a/spec/models/spree/variant_spec.rb b/spec/models/spree/variant_spec.rb index 696b4822d7..aec627bf71 100644 --- a/spec/models/spree/variant_spec.rb +++ b/spec/models/spree/variant_spec.rb @@ -11,7 +11,7 @@ describe Spree::Variant do context "validations" do it "should validate price is greater than 0" do variant.price = -1 - expect(variant).to be_invalid + expect(variant).not_to be_valid end it "should validate price is 0" do @@ -21,7 +21,7 @@ describe Spree::Variant do it "should validate unit_value is greater than 0" do variant.unit_value = 0 - expect(variant).to be_invalid + expect(variant).not_to be_valid end describe "tax category" do