Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
def test_tagsmodel_query_tags(note_model, query, expected):
    tag_model = TagsModel(note_model)

    result = tag_model.query_tags(query)
    assert result == expected