class Controller: def __init__(self, model_type): self.model = NotesModel() if model_type == 'tags': self.model = TagsModel(self.model) self.service_rules = ServiceRules(self.model) def __service_rules(self, items, tab_title): items = self.service_rules.order(items) structure = self.service_rules.structure(items) structure['tab_title'] = tab_title return display_list(structure) def basic_output(self, book): items = list(self.model) self.items = self.service_rules.filter_items(items, book) return self.__service_rules(self.items, book) def query_output(self, query): items = self.model.query_tags(query) if not items: exit() return self.__service_rules(items, "tag: '{}'".format(query)) def search_output(self, query): if not query: print("\n\tNo Query Error\n") exit() items = self.model.query_titles(query) if not items: exit() structure = self.service_rules.structure(items) structure['tab_title'] = 'search' return display_list(structure)
def test_tagsmodel_query_tags_no_result(note_model, query): tag_model = TagsModel(note_model) with patch.object(tag_model, 'get') as _get: tag_model.query_tags(query) _get.assert_called_with(query)
def test_tagsmodel_query_tags(note_model, query, expected): tag_model = TagsModel(note_model) result = tag_model.query_tags(query) assert result == expected