Ejemplo n.º 1
0
 def test_get(self):
     model = KMBlogArticle.get(None)
     # id = Noneの場合は新規モデルが取得できること
     eq_(model.id, None)
     model = KMBlogArticle.get(1)
     # id = 1の場合は登録済みのモデルが取得できること
     eq_(model.id, 1)
Ejemplo n.º 2
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)
     self.result['type'] = 'result'
     self.result['message'] = '削除できました。'
Ejemplo n.º 3
0
 def test_set_data(self):
     data = self.mocker.CreateMock(KMData)
     data.get_request_parameter('info_id').AndReturn(self.test_info_id)
     data.get_request_parameter('category_id').AndReturn(self.test_category_id)
     data.get_request_parameter('title', default='', decode=True).AndReturn(self.test_title)
     data.get_request_parameter('article', default='', decode=True).AndReturn(self.test_article)
     self.mocker.ReplayAll()
     model = KMBlogArticle()
     model.set_data(data);
     # KMDataで指定した値が設定されること
     eq_(model.info_id, self.test_info_id)
     eq_(model.category_id, self.test_category_id)
     eq_(model.title, self.test_title)
     eq_(model.error, None)
     self.mocker.UnsetStubs()
     self.mocker.VerifyAll()
Ejemplo n.º 4
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)
Ejemplo n.º 5
0
 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)
Ejemplo n.º 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)
Ejemplo n.º 7
0
 def test_validate(self):
     model = KMBlogArticle()
     # 各フィールドに値が設定されていない場合はFalseが返され、エラーが取得できること
     eq_(model.validate(), False)
     eq_(model.error.get('title')['message'], '記事名は必須です。')
     # 各フィールドに値が設定されている場合はTrueが返されること
     model = KMBlogArticle()
     model.title = self.test_title
     eq_(model.validate(), True)
Ejemplo n.º 8
0
 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()
Ejemplo n.º 9
0
 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()
Ejemplo n.º 10
0
 def test_save_data_error(self):
     data = self.mocker.CreateMock(KMData)
     data.get_request_parameter('info_id').AndReturn('')
     data.get_request_parameter('category_id').AndReturn('')
     data.get_request_parameter('title', default='', decode=True).AndReturn('')
     data.get_request_parameter('article', default='', decode=True).AndReturn('')
     self.mocker.ReplayAll()
     model = KMBlogArticle.save_data(None, data)
     # フィールドに値が設定されていない場合はエラーが返ること
     eq_(model.error.size(), 1)
     self.mocker.VerifyAll()
Ejemplo n.º 11
0
 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()
Ejemplo n.º 12
0
 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()
Ejemplo n.º 13
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()
Ejemplo n.º 14
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()
Ejemplo n.º 15
0
    def test_save_data(self):

        model = KMBlogArticle.get(1)
        eq_(model.id, 1)
        eq_(model.info_id, None)
        eq_(model.category_id, None)
        eq_(model.title, '')
        eq_(model.article, '')
        data = self.mocker.CreateMock(KMData)
        data.get_request_parameter('info_id').AndReturn(self.test_info_id)
        data.get_request_parameter('category_id').AndReturn(self.test_category_id)
        data.get_request_parameter('title', default='', decode=True).AndReturn(self.test_title)
        data.get_request_parameter('article', default='', decode=True).AndReturn(self.test_article)
        self.mocker.ReplayAll()
        model = KMBlogArticle.save_data(1, data)
        # 既存データのidが指定された場合は値が上書きされること
        eq_(model.error.size(), 0)
        eq_(model.id, 1)
        eq_(model.info_id, self.test_info_id)
        eq_(model.category_id, self.test_category_id)
        eq_(model.title, self.test_title)
        eq_(model.article, self.test_article)
        self.mocker.VerifyAll()
Ejemplo n.º 16
0
 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)
Ejemplo n.º 17
0
 def test_save_data_id_none(self):
     data = self.mocker.CreateMock(KMData)
     data.get_request_parameter('info_id').AndReturn(self.test_info_id)
     data.get_request_parameter('category_id').AndReturn(self.test_category_id)
     data.get_request_parameter('title', default='', decode=True).AndReturn(self.test_title)
     data.get_request_parameter('article', default='', decode=True).AndReturn(self.test_article)
     self.mocker.ReplayAll()
     model = KMBlogArticle.save_data(None, data)
     # idが指定されていない場合は新規で登録されること(id=2)
     eq_(model.error.size(), 0)
     eq_(model.id, 2)
     eq_(model.info_id, self.test_info_id)
     eq_(model.category_id, self.test_category_id)
     eq_(model.title, self.test_title)
     eq_(model.article, self.test_article)
     self.mocker.VerifyAll()
Ejemplo n.º 18
0
 def blog_admin_delete_article(self):
     id = self.data.get_request_parameter('id', default=None)
     KMBlogArticle.delete_by_id(id)
Ejemplo n.º 19
0
 def blog_admin_delete_article(self):
     id = self.data.get_request_parameter('id', default=None)
     KMBlogArticle.delete_by_id(id)
     self.result['type'] = 'result'
     self.result['message'] = '削除できました。'
Ejemplo n.º 20
0
 def blog_admin_delete_category(self):
     id = self.data.get_request_parameter('id', default=None)
     KMBlogCategory.delete_by_id(id)
     KMBlogArticle.delete_by_condition(category_id=id)
Ejemplo n.º 21
0
 def blog_admin_delete_category(self):
     id = self.data.get_request_parameter('id', default=None)
     KMBlogCategory.delete_by_id(id)
     KMBlogArticle.delete_by_condition(category_id=id)
Ejemplo n.º 22
0
 def setUp(self):
     initialize(rdb_path='sqlite:///:memory:')
     self.mocker = Mox()
     model = KMBlogArticle()
     model.save() # id = 1のデータを登録
Ejemplo n.º 23
0
 def blog_admin_delete_article(self):
     id = self.data.get_request_parameter('id', default=None)
     KMBlogArticle.delete_by_id(id)