@@ -1084,10 +1084,24 @@ def test_generate_tree_from_commits(gitcommits, tags, merge_prereleases):
10841084 tree = changelog .generate_tree_from_commits (
10851085 gitcommits , tags , parser , changelog_pattern , merge_prerelease = merge_prereleases
10861086 )
1087- if merge_prereleases :
1088- assert tuple (tree ) == COMMITS_TREE_AFTER_MERGED_PRERELEASES
1089- else :
1090- assert tuple (tree ) == COMMITS_TREE
1087+ expected = (
1088+ COMMITS_TREE_AFTER_MERGED_PRERELEASES if merge_prereleases else COMMITS_TREE
1089+ )
1090+
1091+ for release , expected_release in zip (tree , expected ):
1092+ assert release ["version" ] == expected_release ["version" ]
1093+ assert release ["date" ] == expected_release ["date" ]
1094+ assert release ["changes" ].keys () == expected_release ["changes" ].keys ()
1095+ for change_type in release ["changes" ]:
1096+ changes = release ["changes" ][change_type ]
1097+ expected_changes = expected_release ["changes" ][change_type ]
1098+ for change , expected_change in zip (changes , expected_changes ):
1099+ assert change ["scope" ] == expected_change ["scope" ]
1100+ assert change ["breaking" ] == expected_change ["breaking" ]
1101+ assert change ["message" ] == expected_change ["message" ]
1102+ assert change ["author" ] == "Commitizen"
1103+ assert change ["author_email" ] in "author@cz.dev"
1104+ assert "sha1" in change
10911105
10921106
10931107def test_generate_tree_from_commits_with_no_commits (tags ):
0 commit comments