Skip to content

Commit

Permalink
Add tests for order_by
Browse files Browse the repository at this point in the history
  • Loading branch information
kamilkrzyskow committed Apr 10, 2023
1 parent 775db9d commit 7411c36
Show file tree
Hide file tree
Showing 2 changed files with 129 additions and 0 deletions.
4 changes: 4 additions & 0 deletions mkdocs_awesome_pages_plugin/tests/e2e/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ def pagesFile(
hide: bool = None,
order: Optional[str] = None,
sort_type: Optional[str] = None,
order_by: Optional[str] = None,
) -> Tuple[str, str]:
data = self._removeDictNoneValues(
{
Expand All @@ -42,6 +43,7 @@ def pagesFile(
"hide": hide,
"order": order,
"sort_type": sort_type,
"order_by": order_by,
}
)

Expand All @@ -55,6 +57,7 @@ def createConfig(
strict: Optional[bool] = None,
order: Optional[str] = None,
sort_type: Optional[str] = None,
order_by: Optional[str] = None,
) -> dict:
plugin_options = self._removeDictNoneValues(
{
Expand All @@ -63,6 +66,7 @@ def createConfig(
"strict": strict,
"order": order,
"sort_type": sort_type,
"order_by": order_by,
}
)
plugins_entry = "awesome-pages"
Expand Down
125 changes: 125 additions & 0 deletions mkdocs_awesome_pages_plugin/tests/e2e/test_order_and_sort.py
Original file line number Diff line number Diff line change
Expand Up @@ -299,3 +299,128 @@ def test_global_asc_natural_without_local(self):
navigation,
[("3", "/3"), ("20", [("20", "/20/20"), ("100", "/20/100")]), ("100", "/100")],
)

def test_global_asc_order_by_title_without_local_h1_title(self):
navigation = self.mkdocs(
self.createConfig(order="asc", order_by="title"),
[
("1.md", "# C"),
("B", [("1.md", "# C"), ("2.md", "# B")]),
("3.md", "# A"),
],
)

self.assertEqual(
navigation,
[("A", "/3"), ("B", [("B", "/B/2"), ("C", "/B/1")]), ("C", "/1")],
)

def test_global_asc_order_by_title_without_local_meta_title(self):
navigation = self.mkdocs(
self.createConfig(order="asc", order_by="title"),
[
("1.md", "---\ntitle: c\n---\n"),
("2.md", "---\ntitle: b\n---\n"),
("3.md", "---\ntitle: a\n---\n"),
],
)

self.assertEqual(
navigation,
[("a", "/3"), ("b", "/2"), ("c", "/1")],
)

def test_global_asc_order_by_title_without_local_no_title(self):
navigation = self.mkdocs(
self.createConfig(order="asc", order_by="title"),
[
"1.md",
"2.md",
"3.md",
],
)

self.assertEqual(
navigation,
[("1", "/1"), ("2", "/2"), ("3", "/3")],
)

def test_global_asc_order_by_title_local_desc(self):
navigation = self.mkdocs(
self.createConfig(order="asc", order_by="title"),
[
("1.md", "# C"),
("B", [("1.md", "# C"), ("2.md", "# B"), self.pagesFile(order="desc")]),
("3.md", "# A"),
self.pagesFile(order="desc"),
],
)

self.assertEqual(
navigation,
[("C", "/1"), ("B", [("C", "/B/1"), ("B", "/B/2")]), ("A", "/3")],
)

def test_global_asc_order_by_title_local_filename(self):
navigation = self.mkdocs(
self.createConfig(order="asc", order_by="title"),
[
("1.md", "# C"),
("2", [("1.md", "# C"), ("2.md", "# B"), self.pagesFile(order_by="filename")]),
("3.md", "# A"),
self.pagesFile(order_by="filename"),
],
)

self.assertEqual(
navigation,
[("C", "/1"), ("2", [("C", "/2/1"), ("B", "/2/2")]), ("A", "/3")],
)

def test_local_order_by_title_without_global(self):
navigation = self.mkdocs(
self.createConfig(),
[
("1.md", "# C"),
("B", [("1.md", "# C"), ("2.md", "# B"), self.pagesFile(order_by="title")]),
("3.md", "# A"),
self.pagesFile(order_by="title"),
],
)

self.assertEqual(
navigation,
[("A", "/3"), ("B", [("B", "/B/2"), ("C", "/B/1")]), ("C", "/1")],
)

def test_local_order_by_title_with_global_filename(self):
navigation = self.mkdocs(
self.createConfig(order_by="filename"),
[
("1.md", "# C"),
("B", [("1.md", "# C"), ("2.md", "# B"), self.pagesFile(order_by="title")]),
("3.md", "# A"),
self.pagesFile(order_by="title"),
],
)

self.assertEqual(
navigation,
[("A", "/3"), ("B", [("B", "/B/2"), ("C", "/B/1")]), ("C", "/1")],
)

def test_local_order_by_inner_filename_root_title(self):
navigation = self.mkdocs(
self.createConfig(),
[
("1.md", "# C"),
("B", [("1.md", "# C"), ("2.md", "# B"), self.pagesFile(order_by="filename")]),
("3.md", "# A"),
self.pagesFile(order_by="title"),
],
)

self.assertEqual(
navigation,
[("A", "/3"), ("B", [("C", "/B/1"), ("B", "/B/2")]), ("C", "/1")],
)

0 comments on commit 7411c36

Please sign in to comment.