Mercurial > piecrust2
annotate tests/test_data_provider.py @ 974:72f17534d58e
tests: First pass on making unit tests work again.
- Fix all imports
- Add more helper functions to work with mock file-systems
- Simplify some code by running chef directly on the mock FS
- Fix a couple tests
| author | Ludovic Chabant <ludovic@chabant.com> |
|---|---|
| date | Tue, 17 Oct 2017 01:07:30 -0700 |
| parents | ab5c6a8ae90a |
| children |
| rev | line source |
|---|---|
|
321
59d65654184e
tests: Add a blog data provider test.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
1 from .mockutil import mock_fs, mock_fs_scope |
|
974
72f17534d58e
tests: First pass on making unit tests work again.
Ludovic Chabant <ludovic@chabant.com>
parents:
711
diff
changeset
|
2 from .rdrutil import render_simple_page |
|
321
59d65654184e
tests: Add a blog data provider test.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
3 |
|
59d65654184e
tests: Add a blog data provider test.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
4 |
|
59d65654184e
tests: Add a blog data provider test.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
5 def test_blog_provider(): |
|
59d65654184e
tests: Add a blog data provider test.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
6 fs = (mock_fs() |
|
674
f987b29d6fab
tests: Add ability to run tests with a theme site.
Ludovic Chabant <ludovic@chabant.com>
parents:
369
diff
changeset
|
7 .withConfig() |
|
321
59d65654184e
tests: Add a blog data provider test.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
8 .withPage('posts/2015-03-01_one.md', |
|
711
ab5c6a8ae90a
bake: Replace hard-coded taxonomy support with "generator" system.
Ludovic Chabant <ludovic@chabant.com>
parents:
674
diff
changeset
|
9 {'title': 'One', 'tags': ['Foo']}) |
|
321
59d65654184e
tests: Add a blog data provider test.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
10 .withPage('posts/2015-03-02_two.md', |
|
711
ab5c6a8ae90a
bake: Replace hard-coded taxonomy support with "generator" system.
Ludovic Chabant <ludovic@chabant.com>
parents:
674
diff
changeset
|
11 {'title': 'Two', 'tags': ['Foo']}) |
|
321
59d65654184e
tests: Add a blog data provider test.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
12 .withPage('posts/2015-03-03_three.md', |
|
711
ab5c6a8ae90a
bake: Replace hard-coded taxonomy support with "generator" system.
Ludovic Chabant <ludovic@chabant.com>
parents:
674
diff
changeset
|
13 {'title': 'Three', 'tags': ['Bar']}) |
|
ab5c6a8ae90a
bake: Replace hard-coded taxonomy support with "generator" system.
Ludovic Chabant <ludovic@chabant.com>
parents:
674
diff
changeset
|
14 .withPage('pages/tags.md', |
|
321
59d65654184e
tests: Add a blog data provider test.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
15 {'format': 'none', 'layout': 'none'}, |
|
711
ab5c6a8ae90a
bake: Replace hard-coded taxonomy support with "generator" system.
Ludovic Chabant <ludovic@chabant.com>
parents:
674
diff
changeset
|
16 "{%for c in blog.tags%}\n" |
|
321
59d65654184e
tests: Add a blog data provider test.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
17 "{{c.name}} ({{c.post_count}})\n" |
|
59d65654184e
tests: Add a blog data provider test.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
18 "{%endfor%}\n")) |
|
59d65654184e
tests: Add a blog data provider test.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
19 with mock_fs_scope(fs): |
|
59d65654184e
tests: Add a blog data provider test.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
20 app = fs.getApp() |
|
974
72f17534d58e
tests: First pass on making unit tests work again.
Ludovic Chabant <ludovic@chabant.com>
parents:
711
diff
changeset
|
21 page = app.getSimplePage('tags.md') |
|
72f17534d58e
tests: First pass on making unit tests work again.
Ludovic Chabant <ludovic@chabant.com>
parents:
711
diff
changeset
|
22 actual = render_simple_page(page) |
|
321
59d65654184e
tests: Add a blog data provider test.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
23 expected = "\nBar (1)\n\nFoo (2)\n" |
|
974
72f17534d58e
tests: First pass on making unit tests work again.
Ludovic Chabant <ludovic@chabant.com>
parents:
711
diff
changeset
|
24 assert actual == expected |
|
321
59d65654184e
tests: Add a blog data provider test.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
25 |
