mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-08 22:56:06 +00:00
Merge pull request #8203 from YasuhiroYoshida/adjust-visibility-of-enterprises-on-hub
Change visibilities of hubs on group page
This commit is contained in:
@@ -62,7 +62,7 @@ module InjectionHelper
|
||||
def inject_group_enterprises
|
||||
inject_json_array(
|
||||
"enterprises",
|
||||
@group.enterprises.activated.all,
|
||||
@group.enterprises.activated.visible.all,
|
||||
Api::EnterpriseSerializer,
|
||||
enterprise_injection_data
|
||||
)
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
.small-12.columns
|
||||
.active_table
|
||||
%hub.active_table_node.row.animate-repeat{id: "{{hub.hash}}",
|
||||
"ng-repeat" => "hub in filteredEnterprises = (Enterprises.hubs | searchEnterprises:query | taxons:activeTaxons | shipping:shippingTypes | properties:activeProperties:'distributed_properties' | orderBy:['-active', '+orders_close_at'])",
|
||||
"ng-repeat" => "hub in filteredEnterprises = (Enterprises.hubs | searchEnterprises:query | taxons:activeTaxons | shipping:shippingTypes | properties:activeProperties:'distributed_properties' | orderBy:['+orders_close_at'])",
|
||||
"ng-class" => "{'is_profile' : hub.category == 'hub_profile', 'closed' : !open(), 'open' : open(), 'inactive' : !hub.active, 'current' : current()}",
|
||||
"ng-controller" => "HubNodeCtrl"}
|
||||
.small-12.columns
|
||||
|
||||
@@ -57,31 +57,56 @@ describe 'Groups', js: true do
|
||||
end
|
||||
end
|
||||
|
||||
describe "shops" do
|
||||
describe "hubs" do
|
||||
describe "filtering by product property" do
|
||||
let!(:group) { create(:enterprise_group, enterprises: [d1, d2], on_front_page: true) }
|
||||
let!(:group) {
|
||||
create(:enterprise_group, enterprises: [d1, d2, d3, d4], on_front_page: true)
|
||||
}
|
||||
let!(:order_cycle) {
|
||||
create(:simple_order_cycle, distributors: [d1, d2],
|
||||
create(:simple_order_cycle, distributors: [d1, d2, d3],
|
||||
coordinator: create(:distributor_enterprise))
|
||||
}
|
||||
let!(:closed_order_cycle) {
|
||||
create(:closed_order_cycle, distributors: [d4],
|
||||
coordinator: create(:distributor_enterprise))
|
||||
}
|
||||
let(:producer) { create(:supplier_enterprise) }
|
||||
let(:d1) { create(:distributor_enterprise, with_payment_and_shipping: true) }
|
||||
let(:d2) { create(:distributor_enterprise, with_payment_and_shipping: true) }
|
||||
let(:d1) { create(:distributor_enterprise, with_payment_and_shipping: true, visible: true) }
|
||||
let(:d2) { create(:distributor_enterprise, with_payment_and_shipping: true, visible: true) }
|
||||
let(:d3) { create(:distributor_enterprise, with_payment_and_shipping: true, visible: false) }
|
||||
let(:d4) { create(:distributor_enterprise, with_payment_and_shipping: true, visible: true) }
|
||||
let(:p1) { create(:simple_product, supplier: producer) }
|
||||
let(:p2) { create(:simple_product, supplier: create(:supplier_enterprise)) }
|
||||
let(:p3) { create(:simple_product, supplier: create(:supplier_enterprise)) }
|
||||
let(:p4) { create(:simple_product, supplier: create(:supplier_enterprise)) }
|
||||
let(:ex_d1) { order_cycle.exchanges.outgoing.where(receiver_id: d1).first }
|
||||
let(:ex_d2) { order_cycle.exchanges.outgoing.where(receiver_id: d2).first }
|
||||
let(:ex_d3) { order_cycle.exchanges.outgoing.where(receiver_id: d3).first }
|
||||
let(:ex_d4) { closed_order_cycle.exchanges.outgoing.where(receiver_id: d4).first }
|
||||
|
||||
before do
|
||||
producer.set_producer_property 'Organic', 'NASAA 12345'
|
||||
p2.set_property 'Local', 'XYZ 123'
|
||||
p3.set_property 'Not vibsible', 'Not vibsible'
|
||||
p4.set_property 'No active order cycle', 'No active order cycle'
|
||||
|
||||
ex_d1.variants << p1.variants.first
|
||||
ex_d2.variants << p2.variants.first
|
||||
ex_d3.variants << p3.variants.first
|
||||
ex_d4.variants << p4.variants.first
|
||||
|
||||
visit group_path(group, anchor: "/hubs")
|
||||
end
|
||||
|
||||
it "adjusts visibilities of enterprises depending on their status" do
|
||||
expect(page).to have_css('hub', text: d1.name)
|
||||
expect(page).to_not have_css('hub.inactive', text: d1.name)
|
||||
expect(page).to have_css('hub', text: d2.name)
|
||||
expect(page).to_not have_css('hub.inactive', text: d2.name)
|
||||
expect(page).to_not have_text d3.name
|
||||
expect(page).to have_css('hub.inactive', text: d4.name)
|
||||
end
|
||||
|
||||
it "filters" do
|
||||
toggle_filters
|
||||
|
||||
|
||||
Reference in New Issue
Block a user