From 7aed068bb7ee27ee8e1dc9f1c41e4410af8cb589 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Thu, 20 Jul 2023 10:13:11 +0200 Subject: [PATCH] Enterprises.visible attribute is set to `only_through_links` by default + update enterprise_factory.rb to create "public" enterprise through specs via its factory --- ...0080504_change_defaultvalue_for_visible_enterprise.rb | 9 +++++++++ db/schema.rb | 4 ++-- spec/controllers/admin/enterprises_controller_spec.rb | 9 +++++++++ spec/factories/enterprise_factory.rb | 1 + spec/system/admin/enterprises_spec.rb | 3 +++ 5 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 db/migrate/20230720080504_change_defaultvalue_for_visible_enterprise.rb diff --git a/db/migrate/20230720080504_change_defaultvalue_for_visible_enterprise.rb b/db/migrate/20230720080504_change_defaultvalue_for_visible_enterprise.rb new file mode 100644 index 0000000000..786ec0b1f9 --- /dev/null +++ b/db/migrate/20230720080504_change_defaultvalue_for_visible_enterprise.rb @@ -0,0 +1,9 @@ +class ChangeDefaultvalueForVisibleEnterprise < ActiveRecord::Migration[7.0] + def up + change_column :enterprises, :visible, :string, default: "only_through_links" + end + + def down + change_column :enterprises, :visible, :string, default: "public" + end +end diff --git a/db/schema.rb b/db/schema.rb index 90a51e7208..b5700a8ee9 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2023_07_06_033212) do +ActiveRecord::Schema[7.0].define(version: 2023_07_20_080504) do # These are extensions that must be enabled in order to support this database enable_extension "pg_stat_statements" enable_extension "plpgsql" @@ -233,7 +233,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_07_06_033212) do t.boolean "enable_subscriptions", default: false, null: false t.integer "business_address_id" t.boolean "show_customer_names_to_suppliers", default: false, null: false - t.string "visible", limit: 255, default: "public", null: false + t.string "visible", default: "only_through_links", null: false t.string "whatsapp_phone", limit: 255 t.boolean "hide_ofn_navigation", default: false, null: false t.text "white_label_logo_link" diff --git a/spec/controllers/admin/enterprises_controller_spec.rb b/spec/controllers/admin/enterprises_controller_spec.rb index 089d5c6ef1..4ac06280b9 100644 --- a/spec/controllers/admin/enterprises_controller_spec.rb +++ b/spec/controllers/admin/enterprises_controller_spec.rb @@ -47,6 +47,15 @@ describe Admin::EnterprisesController, type: :controller do expect(distributor_manager.enterprise_roles.where(enterprise_id: enterprise).first).to be end + it "set the `visible` attribute to `hidden`" do + allow(controller).to receive_messages spree_current_user: distributor_manager + enterprise_params[:enterprise][:owner_id] = distributor_manager + + spree_put :create, enterprise_params + enterprise = Enterprise.find_by name: 'zzz' + expect(enterprise.visible).to eq 'only_through_links' + end + context "when I already own a hub" do before { distributor } diff --git a/spec/factories/enterprise_factory.rb b/spec/factories/enterprise_factory.rb index d8259ecd15..762d80c667 100644 --- a/spec/factories/enterprise_factory.rb +++ b/spec/factories/enterprise_factory.rb @@ -14,6 +14,7 @@ FactoryBot.define do description { 'enterprise' } long_description { '

Hello, world!

This is a paragraph.

' } address + visible { 'public' } after(:create) do |enterprise, proxy| proxy.users.each do |user| diff --git a/spec/system/admin/enterprises_spec.rb b/spec/system/admin/enterprises_spec.rb index 4ea82073e3..339898e673 100644 --- a/spec/system/admin/enterprises_spec.rb +++ b/spec/system/admin/enterprises_spec.rb @@ -63,6 +63,9 @@ describe ' click_button 'Create' expect(flash_message).to eq('Enterprise "Eaterprises" has been successfully created!') + + # `Visible in search` radio button should be set to `Hide all references` by default + expect(page).to have_checked_field "enterprise_visible_only_through_links" end it "editing an existing enterprise" do