diff --git a/vorgang-manager-command/pom.xml b/vorgang-manager-command/pom.xml index a925adb4f7fd6f221cb12c537a830c964746f155..eee44b9bcad16d283735ee35fa84f5cb41766f38 100644 --- a/vorgang-manager-command/pom.xml +++ b/vorgang-manager-command/pom.xml @@ -33,6 +33,18 @@ <artifactId>lombok</artifactId> <optional>true</optional> </dependency> + + <!-- Test --> + <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter-engine</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter-params</artifactId> + <scope>test</scope> + </dependency> </dependencies> <build> diff --git a/vorgang-manager-command/src/test/java/de/ozgcloud/command/CommandStatusTest.java b/vorgang-manager-command/src/test/java/de/ozgcloud/command/CommandStatusTest.java new file mode 100644 index 0000000000000000000000000000000000000000..489a073ac38b841bbf929c4f40d74fb49696b4fb --- /dev/null +++ b/vorgang-manager-command/src/test/java/de/ozgcloud/command/CommandStatusTest.java @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den + * Ministerpräsidenten des Landes Schleswig-Holstein + * Staatskanzlei + * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung + * + * Lizenziert unter der EUPL, Version 1.2 oder - sobald + * diese von der Europäischen Kommission genehmigt wurden - + * Folgeversionen der EUPL ("Lizenz"); + * Sie dürfen dieses Werk ausschließlich gemäß + * dieser Lizenz nutzen. + * Eine Kopie der Lizenz finden Sie hier: + * + * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 + * + * Sofern nicht durch anwendbare Rechtsvorschriften + * gefordert oder in schriftlicher Form vereinbart, wird + * die unter der Lizenz verbreitete Software "so wie sie + * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - + * ausdrücklich oder stillschweigend - verbreitet. + * Die sprachspezifischen Genehmigungen und Beschränkungen + * unter der Lizenz sind dem Lizenztext zu entnehmen. + */ +package de.ozgcloud.command; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.EnumSource; + +class CommandStatusTest { + + @Nested + class TestIsFailedOrRevokeStatus { + + @DisplayName("should return true when") + @ParameterizedTest(name = "status is {0}") + @EnumSource(value = CommandStatus.class, names = { "ERROR", "CANCELED", "REVOKE_PENDING", "REVOKED" }) + void shouldReturnTrueWhenE(CommandStatus status) { + var result = CommandStatus.isFailedOrRevokeStatus(status); + + assertTrue(result); + } + + @DisplayName("should return false when") + @ParameterizedTest(name = "status is {0}") + @EnumSource(value = CommandStatus.class, names = { "ERROR", "CANCELED", "REVOKE_PENDING", "REVOKED" }, mode = EnumSource.Mode.EXCLUDE) + void shouldReturnFalseWhen(CommandStatus status) { + var result = CommandStatus.isFailedOrRevokeStatus(status); + + assertFalse(result); + } + } +} \ No newline at end of file diff --git a/vorgang-manager-command/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/vorgang-manager-command/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension new file mode 100644 index 0000000000000000000000000000000000000000..79b126e6cdb86bec1f4f08c205de8961bde1934a --- /dev/null +++ b/vorgang-manager-command/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension @@ -0,0 +1 @@ +org.mockito.junit.jupiter.MockitoExtension \ No newline at end of file