|
2 | 2 | from dataclasses import dataclass
|
3 | 3 | from pathlib import Path
|
4 | 4 | from typing import Optional
|
| 5 | +from unittest.mock import Mock |
5 | 6 |
|
6 | 7 | import pytest
|
7 | 8 | from jinja2 import FileSystemLoader
|
8 | 9 |
|
9 | 10 | from commitizen import changelog, git
|
10 | 11 | from commitizen.changelog_formats import ChangelogFormat
|
| 12 | +from commitizen.commands.changelog import Changelog |
| 13 | +from commitizen.config import BaseConfig |
11 | 14 | from commitizen.cz.conventional_commits.conventional_commits import (
|
12 | 15 | ConventionalCommitsCz,
|
13 | 16 | )
|
@@ -1560,3 +1563,32 @@ def test_tags_rules_get_version_tags(capsys: pytest.CaptureFixture):
|
1560 | 1563 | captured = capsys.readouterr()
|
1561 | 1564 | assert captured.err.count("InvalidVersion") == 2
|
1562 | 1565 | assert captured.err.count("not-a-version") == 2
|
| 1566 | + |
| 1567 | + |
| 1568 | +def test_changelog_file_name_from_args_and_config(): |
| 1569 | + mock_config = Mock(spec=BaseConfig) |
| 1570 | + mock_config.path.parent = "/my/project/" |
| 1571 | + mock_config.settings = { |
| 1572 | + "name": "cz_conventional_commits", |
| 1573 | + "changelog_file": "CHANGELOG.md", |
| 1574 | + "encoding": "utf-8", |
| 1575 | + "changelog_start_rev": "v1.0.0", |
| 1576 | + "tag_format": "$version", |
| 1577 | + "legacy_tag_formats": [], |
| 1578 | + "ignored_tag_formats": [], |
| 1579 | + "incremental": True, |
| 1580 | + "changelog_merge_prerelease": True, |
| 1581 | + } |
| 1582 | + |
| 1583 | + args = { |
| 1584 | + "file_name": "CUSTOM.md", |
| 1585 | + "incremental": None, |
| 1586 | + "dry_run": False, |
| 1587 | + "unreleased_version": "1.0.1", |
| 1588 | + } |
| 1589 | + changelog = Changelog(mock_config, args) |
| 1590 | + assert changelog.file_name == "/my/project/CUSTOM.md" |
| 1591 | + |
| 1592 | + args = {"incremental": None, "dry_run": False, "unreleased_version": "1.0.1"} |
| 1593 | + changelog = Changelog(mock_config, args) |
| 1594 | + assert changelog.file_name == "/my/project/CHANGELOG.md" |
0 commit comments