diff options
author | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2011-01-20 22:17:08 -0500 |
---|---|---|
committer | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2011-01-20 22:18:21 -0500 |
commit | 64838a9f2b1d208ba0b837550bc95956099aa7ff (patch) | |
tree | 5ef60773c0551f6ffa3f1785e911563bfb5c4e3f /askbot/tests/search_state_tests.py | |
parent | 6bf217eac5085ff5e543bf1714eb837930c0a1ba (diff) | |
download | askbot-64838a9f2b1d208ba0b837550bc95956099aa7ff.tar.gz askbot-64838a9f2b1d208ba0b837550bc95956099aa7ff.tar.bz2 askbot-64838a9f2b1d208ba0b837550bc95956099aa7ff.zip |
allowed removing search tags one-by-one, fixed a bug in the login system reported by Bill, removed snippet of unportable sql reported by Graeme and added support for proper i18n in javascript
Diffstat (limited to 'askbot/tests/search_state_tests.py')
-rw-r--r-- | askbot/tests/search_state_tests.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/askbot/tests/search_state_tests.py b/askbot/tests/search_state_tests.py new file mode 100644 index 00000000..622ce378 --- /dev/null +++ b/askbot/tests/search_state_tests.py @@ -0,0 +1,49 @@ +from django.test import TestCase +from askbot.search.state_manager import SearchState, ViewLog + +class SearchStateTests(TestCase): + def setUp(self): + self.state = SearchState() + self.log = ViewLog() + + def visit_page(self, page_name): + """page_name is name of the view function + that is to be "visited" + """ + self.log.set_current(page_name) + + def update(self, data): + self.visit_page('questions') + self.state.update(data, self.log) + + def add_tag(self, tag): + self.update({'tags': set([tag])}) + + def remove_tag(self, tag): + self.update({'remove_tag': tag}) + + def assert_tags_are(self, *args): + self.assertEqual(self.state.tags, set(args)) + + def test_add_remove_tags(self): + self.add_tag('tag1') + self.assert_tags_are('tag1') + self.add_tag('tag2') + self.assert_tags_are('tag1', 'tag2') + self.add_tag('tag3') + self.assert_tags_are('tag1', 'tag2', 'tag3') + self.remove_tag('tag3') + self.assert_tags_are('tag1', 'tag2') + self.remove_tag('tag2') + self.assert_tags_are('tag1') + self.remove_tag('tag1') + self.assertEqual(len(self.state.tags), 0) + + def test_query_and_tags1(self): + self.update({'query': 'hahaha'}) + self.add_tag('tag1') + self.assertEquals(self.state.query, 'hahaha') + self.assert_tags_are('tag1') + self.update({'reset_query':True}) + self.assertEquals(self.state.query, None) + self.assert_tags_are('tag1') |