import unittest from flatpages import FlatPagesIndex from flask_flatpages import FlatPages from mock import patch, Mock from flask import Flask class TestFlatpages(unittest.TestCase): def setUp(self): app = Flask(__name__) self.fp=FlatPagesIndex(app) d={} for p in ["test/index", "page1", "index", "test/test2/index", "test/test2/page4", "test2/page0","test/page2", "test/page3"]: m=Mock() m.path=p m.meta={} d[p]=m self.pages=d def test_p(self): self.assertEquals(FlatPagesIndex.get_breadcrumb_paths(""),['index']) self.assertEquals(FlatPagesIndex.get_breadcrumb_paths("index"),['index']) def test_subpages(self): with patch.object(FlatPages,"_pages", self.pages): spgs=self.fp.get_sub_pages("","index") self.assertEquals([p.path for p in spgs],["page1"]) def test_subipages(self): with patch.object(FlatPages,"_pages", self.pages): spgs=list(self.fp.get_sub_ipages("","index")) self.assertEquals([p.path for p in spgs],["test/index"]) self.assertEquals([p.meta["title"] for p in spgs],["test"]) # with patch("flask_flatpages.FlatPages._pages") as mock_pagelist: # mock_pagelist=iter(["test/index", "page1", "index", "test/page2"]) # print self.fp.get_sub_pages("","index") # self.assertEquals(list(self.fp.get_sub_pages("index")), []) # def test_getflatpage(self): # p=self.fp.get_flatpage("") # with patch("flask_flatpages.FlatPages.get") as mock_page: # mock_page.meta={"title": "Hello"} # print p if __name__ == '__main__': unittest.main()