コード例 #1
0
ファイル: test_blog_info.py プロジェクト: Kokemomo/Kokemomo
 def test_get(self):
     model = KMBlogInfo.get(None)
     # id = Noneの場合は新規モデルが取得できること
     eq_(model.id, None)
     model = KMBlogInfo.get(1)
     # id = 1の場合は登録済みのモデルが取得できること
     eq_(model.id, 1)
コード例 #2
0
ファイル: km_blog.py プロジェクト: Kokemomo/Kokemomo
 def blog_admin_delete_info(self):
     id = self.data.get_request_parameter('id', default=None)
     KMBlogInfo.delete_by_id(id)
     KMBlogCategory.delete_by_condition(info_id=id)
     KMBlogArticle.delete_by_condition(info_id=id)
     self.result['type'] = 'result'
     self.result['message'] = '削除できました。'
コード例 #3
0
 def test_get(self):
     model = KMBlogInfo.get(None)
     # id = Noneの場合は新規モデルが取得できること
     eq_(model.id, None)
     model = KMBlogInfo.get(1)
     # id = 1の場合は登録済みのモデルが取得できること
     eq_(model.id, 1)
コード例 #4
0
ファイル: test_blog_info.py プロジェクト: Kokemomo/Kokemomo
 def test_set_data(self):
     model = KMBlogInfo()
     data = self.mocker.CreateMock(KMData)
     data.get_request_parameter('name', default='', decode=True).AndReturn(self.test_name)
     data.get_request_parameter('url', default='').AndReturn(self.test_url)
     data.get_request_parameter('description', default='', decode=True).AndReturn(self.test_description)
     self.mocker.ReplayAll()
     model.set_data(data);
     # KMDataで指定した値が設定されること
     eq_(model.name, self.test_name)
     eq_(model.url, self.test_url)
     eq_(model.description, self.test_description)
     eq_(model.error, None)
     self.mocker.UnsetStubs()
     self.mocker.VerifyAll()
コード例 #5
0
ファイル: km_blog.py プロジェクト: Kokemomo/Kokemomo
 def blog_page(self, blog_url, id):
     info = KMBlogInfo.find(url=blog_url)[0]
     article = KMBlogArticle.get(id)
     category = KMBlogCategory.get(article.category_id)
     article.comments = KMBlogComment.find(article_id=article.id)
     values = {'info': info, 'article': article, 'category': category}
     return self.render('kokemomo/plugins/blog/view/template/' + SETTINGS.BLOG_TEMPLATE + '/page', url=self.get_url, values=values, blog_url=blog_url)
コード例 #6
0
 def blog_page(self, blog_url):
     info = KMBlogInfo.find(url=blog_url)[0]
     info.articles = KMBlogArticle.find(info_id=info.id)
     for article in info.articles:
         article.comments = KMBlogComment.find(article_id=article.id)
     values = {'info': info}
     return self.render('kokemomo/plugins/blog/view/template/normal/normal', url=self.get_url, values=values, blog_url=blog_url)
コード例 #7
0
ファイル: km_blog.py プロジェクト: gitter-badger/Kokemomo
 def blog_admin(self):
     '''
     blog admin page
     :return: template
     '''
     self.result['info'] = KMBlogInfo.all()
     self.result['type'] = 'dashboard'
     self.result['menu_list'] = get_menu_list()
コード例 #8
0
ファイル: km_blog.py プロジェクト: Kokemomo/Kokemomo
 def blog_admin(self):
     '''
     blog admin page
     :return: template
     '''
     self.result['info'] = KMBlogInfo.all()
     self.result['type'] = 'dashboard'
     self.result['menu_list'] = get_menu_list()
コード例 #9
0
ファイル: km_blog.py プロジェクト: gitter-badger/Kokemomo
 def blog_admin_info(self):
     '''
     blog admin page
     :return: template
     '''
     id = self.data.get_request_parameter('id', default=None)
     self.result['info'] = KMBlogInfo.get(id=id)
     self.result['type'] = 'info'
     self.result['menu_list'] = get_menu_list()
コード例 #10
0
 def test_set_data(self):
     model = KMBlogInfo()
     data = self.mocker.CreateMock(KMData)
     data.get_request_parameter('name', default='',
                                decode=True).AndReturn(self.test_name)
     data.get_request_parameter('url', default='').AndReturn(self.test_url)
     data.get_request_parameter('description', default='',
                                decode=True).AndReturn(
                                    self.test_description)
     self.mocker.ReplayAll()
     model.set_data(data)
     # KMDataで指定した値が設定されること
     eq_(model.name, self.test_name)
     eq_(model.url, self.test_url)
     eq_(model.description, self.test_description)
     eq_(model.error, None)
     self.mocker.UnsetStubs()
     self.mocker.VerifyAll()
コード例 #11
0
ファイル: km_blog.py プロジェクト: gitter-badger/Kokemomo
 def blog_admin_create_info(self):
     '''
     Create Blog Information.
     :return:
     '''
     id = self.data.get_request_parameter('id', default=None)
     self.result['info'] = KMBlogInfo.save_data(id, self.data)
     self.result['type'] = 'info'
     self.result['menu_list'] = get_menu_list()
コード例 #12
0
 def blog_admin_create_info(self):
     '''
     Create Blog Information.
     :return:
     '''
     id = self.data.get_request_parameter('id', default=None)
     self.result['info'] = KMBlogInfo.save_data(id, self.data);
     self.result['type'] = 'info'
     self.result['menu_list'] = get_menu_list()
コード例 #13
0
ファイル: km_blog.py プロジェクト: Kokemomo/Kokemomo
 def blog_admin_info(self):
     '''
     blog admin page
     :return: template
     '''
     id = self.data.get_request_parameter('id', default=None)
     self.result['info'] = KMBlogInfo.get(id=id)
     self.result['type'] = 'info'
     self.result['menu_list'] = get_menu_list()
コード例 #14
0
 def test_validate(self):
     model = KMBlogInfo()
     # 各フィールドに値が設定されていない場合はFalseが返され、エラーが取得できること
     eq_(model.validate(), False)
     eq_(model.error.get('name')['message'], 'ブログ名は必須です。')
     eq_(model.error.get('url')['message'], 'URLは必須です。')
     # 各フィールドに値が設定されている場合はTrueが返されること
     model = KMBlogInfo()
     model.name = self.test_name
     model.url = self.test_url
     eq_(model.validate(), True)
コード例 #15
0
ファイル: km_blog.py プロジェクト: gitter-badger/Kokemomo
 def blog_page(self, blog_url):
     info = KMBlogInfo.find(url=blog_url)[0]
     info.articles = KMBlogArticle.find(info_id=info.id)
     for article in info.articles:
         article.comments = KMBlogComment.find(article_id=article.id)
     values = {'info': info}
     return self.render('kokemomo/plugins/blog/view/template/normal/normal',
                        url=self.get_url,
                        values=values,
                        blog_url=blog_url)
コード例 #16
0
 def blog_admin_create_category(self):
     '''
     Create Blog Category.
     :return:
     '''
     id = self.data.get_request_parameter('id', default=None)
     self.result['info'] = KMBlogInfo.all();
     self.result['category'] = KMBlogCategory.save_data(id, self.data);
     self.result['type'] = 'category'
     self.result['menu_list'] = get_menu_list()
コード例 #17
0
ファイル: km_blog.py プロジェクト: Kokemomo/Kokemomo
 def blog_admin_category_list(self):
     '''
     blog admin page
     :return: template
     '''
     id = self.data.get_request_parameter('id', default=None)
     self.result['info'] = KMBlogInfo.all()
     self.result['category'] = KMBlogCategory.all()
     self.result['type'] = 'category_list'
     self.result['menu_list'] = get_menu_list()
コード例 #18
0
ファイル: test_blog_info.py プロジェクト: Kokemomo/Kokemomo
 def test_save_data_error(self):
     data = self.mocker.CreateMock(KMData)
     data.get_request_parameter('name', default='', decode=True).AndReturn('')
     data.get_request_parameter('url', default='').AndReturn('')
     data.get_request_parameter('description', default='', decode=True).AndReturn('')
     self.mocker.ReplayAll()
     model = KMBlogInfo.save_data(None, data)
     # フィールドに値が設定されていない場合はエラーが返ること
     eq_(model.error.size(), 2)
     self.mocker.VerifyAll()
コード例 #19
0
ファイル: km_blog.py プロジェクト: gitter-badger/Kokemomo
 def blog_admin_category_list(self):
     '''
     blog admin page
     :return: template
     '''
     id = self.data.get_request_parameter('id', default=None)
     self.result['info'] = KMBlogInfo.all()
     self.result['category'] = KMBlogCategory.all()
     self.result['type'] = 'category_list'
     self.result['menu_list'] = get_menu_list()
コード例 #20
0
ファイル: km_blog.py プロジェクト: gitter-badger/Kokemomo
 def blog_admin_create_category(self):
     '''
     Create Blog Category.
     :return:
     '''
     id = self.data.get_request_parameter('id', default=None)
     self.result['info'] = KMBlogInfo.all()
     self.result['category'] = KMBlogCategory.save_data(id, self.data)
     self.result['type'] = 'category'
     self.result['menu_list'] = get_menu_list()
コード例 #21
0
ファイル: test_blog_info.py プロジェクト: Kokemomo/Kokemomo
    def test_save_data(self):

        model = KMBlogInfo.get(1)
        eq_(model.id, 1)
        eq_(model.name, '')
        eq_(model.url, '')
        eq_(model.description, '')
        data = self.mocker.CreateMock(KMData)
        data.get_request_parameter('name', default='', decode=True).AndReturn(self.test_name)
        data.get_request_parameter('url', default='').AndReturn(self.test_url)
        data.get_request_parameter('description', default='', decode=True).AndReturn(self.test_description)
        self.mocker.ReplayAll()
        model = KMBlogInfo.save_data(1, data)
        # 既存データのidが指定された場合は値が上書きされること
        eq_(model.error.size(), 0)
        eq_(model.id, 1)
        eq_(model.name, self.test_name)
        eq_(model.url, self.test_url)
        eq_(model.description, self.test_description)
        self.mocker.VerifyAll()
コード例 #22
0
ファイル: km_blog.py プロジェクト: gitter-badger/Kokemomo
 def blog_admin_article_list(self):
     '''
     blog admin page
     :return: template
     '''
     id = self.data.get_request_parameter('id', default=None)
     self.result['info'] = KMBlogInfo.all()
     for info in self.result['info']:
         info.articles = KMBlogArticle.find(info_id=info.id)
     self.result['type'] = 'article_list'
     self.result['menu_list'] = get_menu_list()
コード例 #23
0
ファイル: km_blog.py プロジェクト: Kokemomo/Kokemomo
 def blog_admin_article_list(self):
     '''
     blog admin page
     :return: template
     '''
     id = self.data.get_request_parameter('id', default=None)
     self.result['info'] = KMBlogInfo.all()
     for info in self.result['info']:
         info.articles = KMBlogArticle.find(info_id=info.id)
     self.result['type'] = 'article_list'
     self.result['menu_list'] = get_menu_list()
コード例 #24
0
 def blog_admin_create_article(self):
     '''
     Create Blog Article.
     :return:
     '''
     values = {}
     id = self.data.get_request_parameter('id', default=None)
     info_id = self.data.get_request_parameter('info_id')
     self.result['info'] = KMBlogInfo.get(info_id);
     self.result['article'] = KMBlogArticle.save_data(id, self.data);
     self.result['type'] = 'article'
     self.result['menu_list'] = get_menu_list()
コード例 #25
0
ファイル: km_blog.py プロジェクト: gitter-badger/Kokemomo
 def blog_admin_article(self):
     '''
     blog admin page
     :return: template
     '''
     id = self.data.get_request_parameter('id', default=None)
     info_id = self.data.get_request_parameter('info_id')
     self.result['info'] = KMBlogInfo.get(id=info_id)
     self.result['category'] = KMBlogCategory.find(info_id=info_id)
     self.result['article'] = KMBlogArticle.get(id=id)
     self.result['type'] = 'article'
     self.result['menu_list'] = get_menu_list()
コード例 #26
0
 def test_save_data_error(self):
     data = self.mocker.CreateMock(KMData)
     data.get_request_parameter('name', default='',
                                decode=True).AndReturn('')
     data.get_request_parameter('url', default='').AndReturn('')
     data.get_request_parameter('description', default='',
                                decode=True).AndReturn('')
     self.mocker.ReplayAll()
     model = KMBlogInfo.save_data(None, data)
     # フィールドに値が設定されていない場合はエラーが返ること
     eq_(model.error.size(), 2)
     self.mocker.VerifyAll()
コード例 #27
0
ファイル: km_blog.py プロジェクト: gitter-badger/Kokemomo
 def blog_admin_create_article(self):
     '''
     Create Blog Article.
     :return:
     '''
     values = {}
     id = self.data.get_request_parameter('id', default=None)
     info_id = self.data.get_request_parameter('info_id')
     self.result['info'] = KMBlogInfo.get(info_id)
     self.result['article'] = KMBlogArticle.save_data(id, self.data)
     self.result['type'] = 'article'
     self.result['menu_list'] = get_menu_list()
コード例 #28
0
ファイル: km_blog.py プロジェクト: Kokemomo/Kokemomo
 def blog_admin_article(self):
     '''
     blog admin page
     :return: template
     '''
     id = self.data.get_request_parameter('id', default=None)
     info_id = self.data.get_request_parameter('info_id')
     self.result['info'] = KMBlogInfo.get(id=info_id)
     self.result['category'] = KMBlogCategory.find(info_id=info_id)
     self.result['article'] = KMBlogArticle.get(id=id)
     self.result['type'] = 'article'
     self.result['menu_list'] = get_menu_list()
コード例 #29
0
ファイル: test_blog_info.py プロジェクト: Kokemomo/Kokemomo
 def test_save_data_id_none(self):
     data = self.mocker.CreateMock(KMData)
     data.get_request_parameter('name', default='', decode=True).AndReturn(self.test_name)
     data.get_request_parameter('url', default='').AndReturn(self.test_url)
     data.get_request_parameter('description', default='', decode=True).AndReturn(self.test_description)
     self.mocker.ReplayAll()
     model = KMBlogInfo.save_data(None, data)
     # idが指定されていない場合は新規で登録されること(id=2)
     eq_(model.error.size(), 0)
     eq_(model.id, 2)
     eq_(model.name, self.test_name)
     eq_(model.url, self.test_url)
     eq_(model.description, self.test_description)
     self.mocker.VerifyAll()
コード例 #30
0
    def test_save_data(self):

        model = KMBlogInfo.get(1)
        eq_(model.id, 1)
        eq_(model.name, '')
        eq_(model.url, '')
        eq_(model.description, '')
        data = self.mocker.CreateMock(KMData)
        data.get_request_parameter('name', default='',
                                   decode=True).AndReturn(self.test_name)
        data.get_request_parameter('url', default='').AndReturn(self.test_url)
        data.get_request_parameter('description', default='',
                                   decode=True).AndReturn(
                                       self.test_description)
        self.mocker.ReplayAll()
        model = KMBlogInfo.save_data(1, data)
        # 既存データのidが指定された場合は値が上書きされること
        eq_(model.error.size(), 0)
        eq_(model.id, 1)
        eq_(model.name, self.test_name)
        eq_(model.url, self.test_url)
        eq_(model.description, self.test_description)
        self.mocker.VerifyAll()
コード例 #31
0
ファイル: km_blog.py プロジェクト: Kokemomo/Kokemomo
 def blog_top(self, blog_url):
     tab = self.data.get_request_parameter('tab', default=0)
     info = KMBlogInfo.find(url=blog_url)[0]
     categories = KMBlogCategory.find(info_id=info.id)
     info.articles = []
     for category in categories:
         page = self.data.get_request_parameter('page_' + str(category.id), default=0)
         res = KMBlogArticle.find(info_id=info.id, category_id=category.id, order=KMBlogArticle.updated_at.desc())
         category.page = page
         res = res[PAGE_SIZE*page:PAGE_SIZE*page+PAGE_SIZE]
         for article in res:
             article.comments = KMBlogComment.find(article_id=article.id)
         info.articles.extend(res)
     values = {'info': info, 'categories': categories, 'tab': tab}
     return self.render('kokemomo/plugins/blog/view/template/' + SETTINGS.BLOG_TEMPLATE + '/top', url=self.get_url, values=values, blog_url=blog_url)
コード例 #32
0
ファイル: test_blog_info.py プロジェクト: Kokemomo/Kokemomo
 def test_validate(self):
     model = KMBlogInfo()
     # 各フィールドに値が設定されていない場合はFalseが返され、エラーが取得できること
     eq_(model.validate(), False)
     eq_(model.error.get('name')['message'], 'ブログ名は必須です。')
     eq_(model.error.get('url')['message'], 'URLは必須です。')
     # 各フィールドに値が設定されている場合はTrueが返されること
     model = KMBlogInfo()
     model.name = self.test_name
     model.url = self.test_url
     eq_(model.validate(), True)
コード例 #33
0
 def test_save_data_id_none(self):
     data = self.mocker.CreateMock(KMData)
     data.get_request_parameter('name', default='',
                                decode=True).AndReturn(self.test_name)
     data.get_request_parameter('url', default='').AndReturn(self.test_url)
     data.get_request_parameter('description', default='',
                                decode=True).AndReturn(
                                    self.test_description)
     self.mocker.ReplayAll()
     model = KMBlogInfo.save_data(None, data)
     # idが指定されていない場合は新規で登録されること(id=2)
     eq_(model.error.size(), 0)
     eq_(model.id, 2)
     eq_(model.name, self.test_name)
     eq_(model.url, self.test_url)
     eq_(model.description, self.test_description)
     self.mocker.VerifyAll()
コード例 #34
0
 def blog_admin_delete_info(self):
     id = self.data.get_request_parameter('id', default=None)
     KMBlogInfo.delete_by_id(id)
     KMBlogCategory.delete_by_condition(info_id=id)
     KMBlogArticle.delete_by_condition(info_id=id)
コード例 #35
0
ファイル: km_blog.py プロジェクト: gitter-badger/Kokemomo
 def blog_admin_delete_info(self):
     id = self.data.get_request_parameter('id', default=None)
     KMBlogInfo.delete_by_id(id)
     KMBlogCategory.delete_by_condition(info_id=id)
     KMBlogArticle.delete_by_condition(info_id=id)
コード例 #36
0
ファイル: test_blog_info.py プロジェクト: Kokemomo/Kokemomo
 def setUp(self):
     initialize(rdb_path='sqlite:///:memory:')
     self.mocker = Mox()
     model = KMBlogInfo()
     model.save() # id = 1のデータを登録
コード例 #37
0
 def setUp(self):
     initialize(rdb_path='sqlite:///:memory:')
     self.mocker = Mox()
     model = KMBlogInfo()
     model.save()  # id = 1のデータを登録