def test_markup_method_works_with_no_fragments(self): def get_starting_sentence(): return u"5 results found" search_summary = SearchSummary(9, self.request_args, filter_groups) search_summary.get_starting_sentence = get_starting_sentence search_summary.filters_fragments = [] self.assertEqual(search_summary.markup(), Markup(u"5 results found"))
def test_markup_method_works_with_no_fragments(self): def get_starting_sentence(): return u"5 results found" search_summary = SearchSummary(9, self.request_args, filter_groups) search_summary.get_starting_sentence = get_starting_sentence search_summary.filters_fragments = [] self.assertEqual( search_summary.markup(), Markup(u"5 results found"))
def test_markup_method_works_with_fragments(self): def get_starting_sentence(): return u"5 results found" fragment = Mock(**{"str.return_value": u"with option1 and option2"}) search_summary = SearchSummary(9, self.request_args, filter_groups) search_summary.get_starting_sentence = get_starting_sentence search_summary.filters_fragments = [fragment] self.assertEqual(search_summary.markup(), Markup(u"5 results found with option1 and option2"))
def test_markup_method_works_with_fragments(self): def get_starting_sentence(): return u"5 results found" fragment = Mock(**{"str.return_value": u"with option1 and option2"}) search_summary = SearchSummary(9, self.request_args, filter_groups) search_summary.get_starting_sentence = get_starting_sentence search_summary.filters_fragments = [fragment] self.assertEqual( search_summary.markup(), Markup(u"5 results found with option1 and option2"))
def test_search_summary_works_with_no_results(self): search_summary = SearchSummary('0', self.request_args, filter_groups) self.assertEqual(search_summary.count, '0') self.assertEqual(search_summary.sentence, (u"results found containing <em>email</em>" + u" in <em>Software as a Service</em>")) self.assertEqual(len(search_summary.filters_fragments), 0)
def test_search_summary_works_with_blank_keywords(self): self.request_args.setlist('q', ['']) search_summary = SearchSummary('1', self.request_args, filter_groups) self.assertEqual(search_summary.count, '1') self.assertEqual( search_summary.sentence, (u"result found" + u" in <em>Software as a Service</em>")) self.assertEqual(len(search_summary.filters_fragments), 0)
def test_search_summary_works_with_a_different_lot(self): self.request_args.setlist('lot', ['iaas']) search_summary = SearchSummary('1', self.request_args, filter_groups) self.assertEqual(search_summary.count, '1') self.assertEqual(search_summary.sentence, (u"result found containing <em>email</em>" + u" in <em>Infrastructure as a Service</em>")) self.assertEqual(len(search_summary.filters_fragments), 0)
def test_search_summary_with_a_single_filter_group(self): self.request_args.setlist('serviceTypes', ['collaboration']) search_summary = SearchSummary('9', self.request_args, filter_groups) self.assertEqual(search_summary.count, '9') self.assertEqual(search_summary.sentence, (u"results found containing <em>email</em>" + u" in <em>Software as a Service</em>")) self.assertEqual(len(search_summary.filters_fragments), 1)
def test_search_summary_with_two_filter_groups(self): self.request_args.setlist('serviceTypes', ['collaboration', 'energy and environment']) self.request_args.setlist( 'datacentreTier', ['tia-942 tier 1', 'uptime institute tier 1']) search_summary = SearchSummary('9', self.request_args, filter_groups) self.assertEqual(search_summary.count, '9') self.assertEqual(search_summary.sentence, (u"results found containing <em>email</em>" + u" in <em>Software as a Service</em>")) self.assertEqual(len(search_summary.filters_fragments), 2)
def test_get_starting_sentence_works(self): search_summary = SearchSummary('9', self.request_args, filter_groups) search_summary.count = '9' search_summary.COUNT_PRE_TAG = '<em>' search_summary.COUNT_POST_TAG = '</em>' search_summary.sentence = (u"results found containing <em>email</em>" + u" in <em>Software as a Service</em>") self.assertEqual( search_summary.get_starting_sentence(), (u"<em>9</em> results found containing" + u" <em>email</em> in" + u" <em>Software as a Service</em>"))
def test_search_summary_orders_filter_groups_as_in_manifest(self): self.request_args.setlist('serviceTypes', ['collaboration', 'energy and environment']) self.request_args.setlist( 'datacentreTier', ['tia-942 tier 1', 'uptime institute tier 1']) self.request_args.setlist('freeOption', ['true']) self.request_args.setlist('trialOption', ['true']) search_summary = SearchSummary('9', self.request_args, filter_groups) correct_order = ['Categories', 'Pricing', 'Datacentre tier'] order_of_groups_of_filters = [ fragment.id for fragment in search_summary.filters_fragments ] self.assertEqual(order_of_groups_of_filters, correct_order)
def test_get_starting_sentence_works(self): search_summary = SearchSummary('9', self.request_args, filter_groups) search_summary.count = '9' search_summary.COUNT_PRE_TAG = '<em>' search_summary.COUNT_POST_TAG = '</em>' search_summary.sentence = ( u"results found containing <em>email</em>" + u" in <em>Software as a Service</em>") self.assertEqual(search_summary.get_starting_sentence(), ( u"<em>9</em> results found containing" + u" <em>email</em> in" + u" <em>Software as a Service</em>"))
def test_write_list_as_sentence_with_one_item(self): self.assertEqual( SearchSummary.write_list_as_sentence(['item1'], 'and'), u"item1")
def test_write_list_as_sentence_with_two_items(self): self.assertEqual( SearchSummary.write_list_as_sentence(['item1', 'item2'], 'and'), u"item1 and item2")
def test_write_parts_as_sentence_with_both_parts_not_None(self): self.assertEqual( SearchSummary.write_parts_as_sentence([u"an", u"Hour"]), u"an Hour")
def test_write_parts_as_sentence_with_second_part_None(self): self.assertEqual( SearchSummary.write_parts_as_sentence([u"Hour", None]), u"Hour")
def test_write_parts_as_sentence_with_first_part_None(self): self.assertEqual( SearchSummary.write_parts_as_sentence([None, u"Hour"]), u"Hour")
def test_write_list_as_sentence_with_three_items(self): self.assertEqual( SearchSummary.write_list_as_sentence(['item1', 'item2', 'item3'], 'and'), u"item1, item2 and item3")
def test_write_list_as_sentence_with_three_items(self): self.assertEqual( SearchSummary.write_list_as_sentence( ['item1', 'item2', 'item3'], 'and'), u"item1, item2 and item3")
def test_write_parts_as_sentence_with_first_part_None(self): self.assertEqual( SearchSummary.write_parts_as_sentence( [None, u"Hour"]), u"Hour")
def test_write_parts_as_sentence_with_second_part_None(self): self.assertEqual( SearchSummary.write_parts_as_sentence( [u"Hour", None]), u"Hour")
def test_write_parts_as_sentence_with_both_parts_not_None(self): self.assertEqual( SearchSummary.write_parts_as_sentence( [u"an", u"Hour"]), u"an Hour")