Automatically show 'Schedules' column on OC index when Standing Orders are enabled

This commit is contained in:
Rob Harrington
2017-03-02 11:24:53 +11:00
parent 4e686ecfcc
commit 2c0928ca20
3 changed files with 28 additions and 13 deletions

View File

@@ -87,7 +87,7 @@ module OpenFoodNetwork
node = "admin.order_cycles.index"
{
name: { name: I18n.t("admin.name"), visible: true },
schedules: { name: I18n.t("#{node}.schedules"), visible: false },
schedules: { name: I18n.t("#{node}.schedules"), visible: true },
open: { name: I18n.t("open"), visible: true },
close: { name: I18n.t("close"), visible: true },
producers: { name: I18n.t("label_producers"), visible: false },

View File

@@ -41,10 +41,6 @@ feature 'Schedules', js: true do
click_button "Create Schedule"
end
find("div#columns-dropdown", :text => "COLUMNS").click
find("div#columns-dropdown div.menu div.menu_item", text: "Schedules").click
find("div#columns-dropdown", :text => "COLUMNS").click
within ".order-cycle-#{oc1.id} td.schedules" do
expect(page).to have_selector "a", text: "Weekly"
expect(page).to have_selector "a", text: "Fortnightly"
@@ -68,10 +64,6 @@ feature 'Schedules', js: true do
it "immediately shows updated schedule lists for order cycles" do
click_link 'Order Cycles'
find("div#columns-dropdown", :text => "COLUMNS").click
find("div#columns-dropdown div.menu div.menu_item", text: "Schedules").click
find("div#columns-dropdown", :text => "COLUMNS").click
within ".order-cycle-#{oc1.id} td.schedules" do
find('a', text: "Weekly").click
end
@@ -103,10 +95,6 @@ feature 'Schedules', js: true do
it "immediately removes deleted schedules from order cycles" do
click_link 'Order Cycles'
find("div#columns-dropdown", :text => "COLUMNS").click
find("div#columns-dropdown div.menu div.menu_item", text: "Schedules").click
find("div#columns-dropdown", :text => "COLUMNS").click
within ".order-cycle-#{oc1.id} td.schedules" do
find('a', text: "Weekly").click
end

View File

@@ -56,4 +56,31 @@ describe ColumnPreference, type: :model do
end
end
end
describe "filtering default_preferences" do
let(:name_preference) { double(:name_preference) }
let(:schedules_preference) { double(:scheudles_preference) }
let(:default_preferences) { { name: name_preference, schedules: schedules_preference } }
context "when the action is order_cycles_index" do
let(:action_name) { "order_cycles_index" }
context "and the user owns a standing-orders-enabled enterprise" do
let!(:enterprise) { create(:distributor_enterprise, enable_standing_orders: true) }
it "removes the schedules column from the defaults" do
ColumnPreference.filter(default_preferences, enterprise.owner, action_name)
expect(default_preferences[:schedules]).to eq schedules_preference
end
end
context "and the user does not own a standing-orders-enabled enterprise" do
let!(:enterprise) { create(:distributor_enterprise, enable_standing_orders: false) }
it "removes the schedules column from the defaults" do
ColumnPreference.filter(default_preferences, enterprise.owner, action_name)
expect(default_preferences[:schedules]).to be nil
end
end
end
end
end