Skip to content

Commit

Permalink
test: Added more (currently failing) tests
Browse files Browse the repository at this point in the history
  • Loading branch information
bennetrr committed Apr 1, 2024
1 parent b7fd986 commit 12aa28f
Showing 1 changed file with 194 additions and 0 deletions.
194 changes: 194 additions & 0 deletions tests/test_action.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,200 @@ def test_initial(self):
self.assertEqual(expected_output_beta, actual_output_beta)
self.assertEqual(expected_output_prod, actual_output_prod)

def test_first_fix(self):
# Arrange
args_release = ActionArguments(
prefix='v',
suffix='pre',
previous_version_suffix='pre',
create_tag=True
)

expected_output_release = ActionOutputs(
version='0.0.1-pre',
version_name='v0.0.1-pre',
previous_version='',
previous_version_name='',
has_changes=True
)

args_beta = ActionArguments(
prefix='v',
suffix='beta',
previous_version_suffix='pre',
create_tag=True
)

expected_output_beta = ActionOutputs(
version='0.0.1-beta',
version_name='v0.0.1-beta',
previous_version='0.0.1-pre', # TODO: Soll das so? Oder sollte da die letzte Version mit -beta
previous_version_name='v0.0.1-pre', # stehen, bzw. '', weil es noch keine letzte Version gab
has_changes=False
)
# TODO: Außerdem wird der Tag für beta nicht erstellt, da keine Changes.
# Der Suffix wurde aber gewechselt, deswegen muss der Tag eigentlich trotzdem erstellt werden.

args_prod = ActionArguments(
prefix='v',
suffix='',
previous_version_suffix='beta',
create_tag=True
)

expected_output_prod = ActionOutputs(
version='0.0.1',
version_name='v0.0.1',
previous_version='',
previous_version_name='',
has_changes=False
)

# Act
self.repo.commit(CommitMessages.FIX)

self.repo.merge('main', 'release')
actual_output_release = run_action(args_release)

self.repo.merge('release', 'release-beta')
actual_output_beta = run_action(args_beta)

self.repo.merge('release-beta', 'release-prod')
actual_output_prod = run_action(args_prod)

# Assert
self.assertEqual(expected_output_release, actual_output_release)
self.assertEqual(expected_output_beta, actual_output_beta)
self.assertEqual(expected_output_prod, actual_output_prod)

def test_first_feature(self):
# Arrange
args_release = ActionArguments(
prefix='v',
suffix='pre',
previous_version_suffix='pre',
create_tag=True
)

expected_output_release = ActionOutputs(
version='0.1.0-pre',
version_name='v0.1.0-pre',
previous_version='',
previous_version_name='',
has_changes=True
)

args_beta = ActionArguments(
prefix='v',
suffix='beta',
previous_version_suffix='pre',
create_tag=True
)

expected_output_beta = ActionOutputs(
version='0.1.0-beta',
version_name='v0.1.0-beta',
previous_version='0.1.0-pre',
previous_version_name='v0.1.0-pre',
has_changes=False
)

args_prod = ActionArguments(
prefix='v',
suffix='',
previous_version_suffix='beta',
create_tag=True
)

expected_output_prod = ActionOutputs(
version='0.1.0',
version_name='v0.1.0',
previous_version='',
previous_version_name='',
has_changes=False
)

# Act
self.repo.commit(CommitMessages.FEATURE)

self.repo.merge('main', 'release')
actual_output_release = run_action(args_release)

self.repo.merge('release', 'release-beta')
actual_output_beta = run_action(args_beta)

self.repo.merge('release-beta', 'release-prod')
actual_output_prod = run_action(args_prod)

# Assert
self.assertEqual(expected_output_release, actual_output_release)
self.assertEqual(expected_output_beta, actual_output_beta)
self.assertEqual(expected_output_prod, actual_output_prod)

def test_first_breaking(self):
# Arrange
args_release = ActionArguments(
prefix='v',
suffix='pre',
previous_version_suffix='pre',
create_tag=True
)

expected_output_release = ActionOutputs(
version='1.0.0-pre',
version_name='v1.0.0-pre',
previous_version='',
previous_version_name='',
has_changes=True
)

args_beta = ActionArguments(
prefix='v',
suffix='beta',
previous_version_suffix='pre',
create_tag=True
)

expected_output_beta = ActionOutputs(
version='1.0.0-beta',
version_name='v1.0.0-beta',
previous_version='1.0.0-pre',
previous_version_name='v1.0.0-pre',
has_changes=False
)

args_prod = ActionArguments(
prefix='v',
suffix='',
previous_version_suffix='beta',
create_tag=True
)

expected_output_prod = ActionOutputs(
version='1.0.0',
version_name='v1.0.0',
previous_version='',
previous_version_name='',
has_changes=False
)

# Act
self.repo.commit(CommitMessages.BREAKING_FEATURE)

self.repo.merge('main', 'release')
actual_output_release = run_action(args_release)

self.repo.merge('release', 'release-beta')
actual_output_beta = run_action(args_beta)

self.repo.merge('release-beta', 'release-prod')
actual_output_prod = run_action(args_prod)

# Assert
self.assertEqual(expected_output_release, actual_output_release)
self.assertEqual(expected_output_beta, actual_output_beta)
self.assertEqual(expected_output_prod, actual_output_prod)


if __name__ == '__main__':
unittest.main()

0 comments on commit 12aa28f

Please sign in to comment.