Set up producer filters on group producers page

This commit is contained in:
Rohan Mitchell
2016-07-07 10:40:31 +10:00
parent b13360d2d0
commit d9d3a4a645
3 changed files with 43 additions and 2 deletions

View File

@@ -8,3 +8,6 @@ Darkswarm.controller "GroupEnterprisesCtrl", ($scope, Search, FilterSelectorsSer
$scope.$watch "query", (query)->
Search.search query
$scope.$watch "filtersActive", (value) ->
$scope.$broadcast 'filtersToggled'

View File

@@ -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}}"}

View File

@@ -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