Skip to content

Commit

Permalink
Merge pull request #11247 from jibees/9123-inconsistent-default-visib…
Browse files Browse the repository at this point in the history
…ility-setting-for-newly-created-enterprises

Admin, Enterprise creation : set visibility to "Hidden" by default
  • Loading branch information
filipefurtad0 committed Jul 28, 2023
2 parents ef947f8 + 04f83fb commit a975e2b
Show file tree
Hide file tree
Showing 9 changed files with 41 additions and 4 deletions.
2 changes: 1 addition & 1 deletion app/controllers/admin/enterprises_controller.rb
Expand Up @@ -92,7 +92,7 @@ def register
return render :welcome, layout: "spree/layouts/bare_admin"
end

attributes = { sells: register_params[:sells], visible: true }
attributes = { sells: register_params[:sells], visible: "only_through_links" }

if @enterprise.update(attributes)
flash[:success] = I18n.t(:enterprise_register_success_notice, enterprise: @enterprise.name)
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/api/v0/enterprises_controller.rb
Expand Up @@ -74,7 +74,7 @@ def override_sells
end

def override_visible
enterprise_params[:visible] = false
enterprise_params[:visible] = "only_through_links"
end

def enterprise_params
Expand Down
@@ -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
4 changes: 2 additions & 2 deletions db/schema.rb
Expand Up @@ -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"
Expand Down Expand Up @@ -233,7 +233,7 @@
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"
Expand Down
14 changes: 14 additions & 0 deletions spec/controllers/admin/enterprises_controller_spec.rb
Expand Up @@ -47,6 +47,15 @@
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 }

Expand Down Expand Up @@ -444,6 +453,11 @@
expect(flash[:error]).to eq "Please select a package"
end
end

it "set visibility to 'only_through_links' by default" do
spree_post :register, id: enterprise, sells: 'none'
expect(enterprise.reload.visible).to eq 'only_through_links'
end
end
end

Expand Down
8 changes: 8 additions & 0 deletions spec/controllers/api/v0/enterprises_controller_spec.rb
Expand Up @@ -37,6 +37,14 @@
expect(enterprise.sells).to eq('any')
end

it "creates a visible=hidden enterprise" do
api_post :create, { enterprise: new_enterprise_params }
expect(response.status).to eq 201

enterprise = Enterprise.last
expect(enterprise.visible).to eq("only_through_links")
end

it "saves all user ids submitted" do
manager1 = create(:user)
manager2 = create(:user)
Expand Down
1 change: 1 addition & 0 deletions spec/factories/enterprise_factory.rb
Expand Up @@ -14,6 +14,7 @@
description { 'enterprise' }
long_description { '<p>Hello, world!</p><p>This is a paragraph.</p>' }
address
visible { 'public' }

after(:create) do |enterprise, proxy|
proxy.users.each do |user|
Expand Down
3 changes: 3 additions & 0 deletions spec/system/admin/enterprises_spec.rb
Expand Up @@ -63,6 +63,9 @@

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
Expand Down
2 changes: 2 additions & 0 deletions spec/system/consumer/registration_spec.rb
Expand Up @@ -155,6 +155,8 @@
page.find('.full_hub h3').click
click_button "Select and Continue"
expect(page).to have_content "Your profile live"
click_link "Manage My Awesome Enterprise"
expect(page).to have_checked_field "enterprise_visible_only_through_links"
end

context "when the user has no more remaining enterprises" do
Expand Down

0 comments on commit a975e2b

Please sign in to comment.