def test_get(self): model = KMBlogInfo.get(None) # id = Noneの場合は新規モデルが取得できること eq_(model.id, None) model = KMBlogInfo.get(1) # id = 1の場合は登録済みのモデルが取得できること eq_(model.id, 1)
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'] = '削除できました。'
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()
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)
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)
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()
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()
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()
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()
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()
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)
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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)
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()
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)
def setUp(self): initialize(rdb_path='sqlite:///:memory:') self.mocker = Mox() model = KMBlogInfo() model.save() # id = 1のデータを登録