diff --git a/src/main/python/ddadevops/application/release_mixin_services.py b/src/main/python/ddadevops/application/release_mixin_services.py index 7057674..b440eaa 100644 --- a/src/main/python/ddadevops/application/release_mixin_services.py +++ b/src/main/python/ddadevops/application/release_mixin_services.py @@ -16,6 +16,9 @@ class ReleaseService: BuildFileRepository(base_dir), ) + def update_release_type(self, release: Release, release_type_str: str): + release.update_release_type(ReleaseType[release_type_str]) + def prepare_release(self, release: Release): match release.release_type: case ReleaseType.MAJOR: diff --git a/src/main/python/ddadevops/release_mixin.py b/src/main/python/ddadevops/release_mixin.py index f716bc9..05b6b38 100644 --- a/src/main/python/ddadevops/release_mixin.py +++ b/src/main/python/ddadevops/release_mixin.py @@ -15,7 +15,7 @@ class ReleaseMixin(DevopsBuild): def update_release_type(self, release_type_str: str): devops = self.devops_repo.get_devops(self.project) release = devops.mixins[MixinType.RELEASE] - release.update_release_type(ReleaseType[release_type_str]) + self.release_service.update_release_type(release, release_type_str) def prepare_release(self): devops = self.devops_repo.get_devops(self.project) diff --git a/src/test/python/application/test_release_mixin_services.py b/src/test/python/application/test_release_mixin_services.py new file mode 100644 index 0000000..40f6553 --- /dev/null +++ b/src/test/python/application/test_release_mixin_services.py @@ -0,0 +1,22 @@ +import pytest +from pathlib import Path +from src.main.python.ddadevops.domain import ( + ReleaseType, + MixinType, +) +from src.test.python.domain.helper import ( + BuildFileRepositoryMock, + GitApiMock, + build_devops, +) +from src.main.python.ddadevops.application import ReleaseService + +def test_sould_update_release_type(): + sut = ReleaseService(GitApiMock(), BuildFileRepositoryMock("build.py")) + devops = build_devops({}) + release = devops.mixins[MixinType.RELEASE] + sut.update_release_type(release, "MAJOR") + assert ReleaseType.MAJOR == release.release_type + + with pytest.raises(Exception): + sut.update_release_type(release, "NOT_EXISTING")