aboutsummaryrefslogtreecommitdiffstats
path: root/spec/lib
diff options
context:
space:
mode:
authorRobin Houston <robin.houston@gmail.com>2012-09-06 15:00:05 +0100
committerRobin Houston <robin.houston@gmail.com>2012-09-06 15:00:05 +0100
commit006717f1ac39557e50052bb5755d430a1fa100ee (patch)
treed07209a4ad2003111c03948d537127d40dda9799 /spec/lib
parent537b97ff069cac999da3ca80ede77fedc79e39ff (diff)
parent74531a783a8ea62a80596b435bd151cec2bf82c8 (diff)
Merge branch 'master' of git.mysociety.org:/data/git/public/alaveteli
Conflicts: spec/controllers/api_controller_spec.rb
Diffstat (limited to 'spec/lib')
-rw-r--r--spec/lib/public_body_categories_spec.rb42
1 files changed, 42 insertions, 0 deletions
diff --git a/spec/lib/public_body_categories_spec.rb b/spec/lib/public_body_categories_spec.rb
new file mode 100644
index 000000000..e53d9a028
--- /dev/null
+++ b/spec/lib/public_body_categories_spec.rb
@@ -0,0 +1,42 @@
+require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
+
+describe PublicBodyCategories do
+
+ before do
+ load_test_categories
+ end
+
+ describe 'when asked for categories with headings' do
+
+ it 'should return a list of headings as plain strings, each followed by n tag specifications as
+ lists in the form:
+ ["tag_to_use_as_category", "Sub category title", "Instance description"]' do
+ expected_categories = ["Local and regional", ["local_council",
+ "Local councils",
+ "a local council"],
+ "Miscellaneous", ["other",
+ "Miscellaneous",
+ "miscellaneous"]]
+ PublicBodyCategories::get().with_headings().should == expected_categories
+ end
+
+ end
+
+ describe 'when asked for headings' do
+
+ it 'should return a list of headings' do
+ PublicBodyCategories::get().headings().should == ['Local and regional', 'Miscellaneous']
+ end
+
+ end
+
+ describe 'when asked for tags by headings' do
+
+ it 'should return a hash of tags keyed by heading' do
+ PublicBodyCategories::get().by_heading().should == {'Local and regional' => ['local_council'],
+ 'Miscellaneous' => ['other']}
+ end
+
+ end
+
+end \ No newline at end of file