mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-01 02:03:22 +00:00
Set up producer filters on group producers page
This commit is contained in:
@@ -8,3 +8,6 @@ Darkswarm.controller "GroupEnterprisesCtrl", ($scope, Search, FilterSelectorsSer
|
||||
|
||||
$scope.$watch "query", (query)->
|
||||
Search.search query
|
||||
|
||||
$scope.$watch "filtersActive", (value) ->
|
||||
$scope.$broadcast 'filtersToggled'
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
.small-12.columns
|
||||
.active_table
|
||||
%producer.active_table_node.row.animate-repeat{id: "{{producer.path}}",
|
||||
"ng-repeat" => "producer in filteredEnterprises = (group_producers | searchEnterprises:query | taxons:activeTaxons)",
|
||||
"ng-repeat" => "producer in filteredEnterprises = (group_producers | searchEnterprises:query | taxons:activeTaxons | properties:activeProperties)",
|
||||
"ng-controller" => "GroupEnterpriseNodeCtrl",
|
||||
"ng-class" => "{'closed' : !open(), 'open' : open(), 'inactive' : !producer.active}",
|
||||
id: "{{producer.hash}}"}
|
||||
|
||||
@@ -9,11 +9,49 @@ feature 'Groups', js: true do
|
||||
|
||||
it "renders groups" do
|
||||
visit groups_path
|
||||
page.should have_content group.name
|
||||
expect(page).to have_content group.name
|
||||
end
|
||||
|
||||
it "searches by URL" do
|
||||
visit groups_path(anchor: "/?query=xyzzy")
|
||||
expect(page).to have_content "No groups found"
|
||||
end
|
||||
|
||||
describe "producers" do
|
||||
describe "filtering by product property" do
|
||||
let!(:producer1) { create(:supplier_enterprise) }
|
||||
let!(:producer2) { create(:supplier_enterprise) }
|
||||
|
||||
let!(:product1) { create(:simple_product, supplier: producer1) }
|
||||
let!(:product2) { create(:simple_product, supplier: producer2) }
|
||||
|
||||
before do
|
||||
product1.set_property 'Organic', 'NASAA 12345'
|
||||
product2.set_property 'Biodynamic', 'ABC123'
|
||||
|
||||
producer1.set_producer_property 'Local', 'Victoria'
|
||||
producer2.set_producer_property 'Fair Trade', 'FT123'
|
||||
|
||||
group.enterprises << producer1
|
||||
group.enterprises << producer2
|
||||
|
||||
visit group_path(group, anchor: "/producers")
|
||||
end
|
||||
|
||||
it "filters" do
|
||||
toggle_filters
|
||||
|
||||
toggle_filter 'Organic'
|
||||
|
||||
expect(page).to have_content producer1.name
|
||||
expect(page).not_to have_content producer2.name
|
||||
|
||||
toggle_filter 'Organic'
|
||||
toggle_filter 'Fair Trade'
|
||||
|
||||
expect(page).not_to have_content producer1.name
|
||||
expect(page).to have_content producer2.name
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user