From ea9c1b959ae03bf9cb4f9cebf883cbff818aa4a0 Mon Sep 17 00:00:00 2001 From: "Peteris N." <121941176+Lensyi@users.noreply.github.com> Date: Wed, 22 Apr 2026 09:55:42 +0300 Subject: [PATCH] test: add unit test for Exception class behavior --- .../com/tabs/exceptions/ExceptionsTest.java | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/test/java/com/tabs/exceptions/ExceptionsTest.java diff --git a/src/test/java/com/tabs/exceptions/ExceptionsTest.java b/src/test/java/com/tabs/exceptions/ExceptionsTest.java new file mode 100644 index 0000000..414c1c1 --- /dev/null +++ b/src/test/java/com/tabs/exceptions/ExceptionsTest.java @@ -0,0 +1,51 @@ +package com.tabs.exceptions; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + +class ExceptionsTest { + + @Test + void creditBlockedException_preservesMessage() { + CreditBlockedException ex = new CreditBlockedException("credit blocked"); + + assertEquals("credit blocked", ex.getMessage()); + assertNull(ex.getCause()); + } + + @Test + void customerNotFoundException_preservesMessage() { + CustomerNotFoundException ex = new CustomerNotFoundException("customer missing"); + + assertEquals("customer missing", ex.getMessage()); + assertNull(ex.getCause()); + } + + @Test + void invoiceGenerationException_preservesMessageAndCause() { + IllegalStateException cause = new IllegalStateException("root cause"); + InvoiceGenerationException ex = new InvoiceGenerationException("invoice failed", cause); + + assertEquals("invoice failed", ex.getMessage()); + assertSame(cause, ex.getCause()); + assertEquals("root cause", ex.getCause().getMessage()); + } + + @Test + void subscriptionNotFoundException_preservesMessage() { + SubscriptionNotFoundException ex = new SubscriptionNotFoundException("subscription missing"); + + assertEquals("subscription missing", ex.getMessage()); + assertNull(ex.getCause()); + } + + @Test + void exceptions_canBeUsedWithEnvironmentConfiguredUrlReference() { + String url = System.getenv("URL"); + assertNotNull(url, "URL environment variable should be available in the test environment"); + + CreditBlockedException ex = new CreditBlockedException("blocked while accessing: " + url); + assertTrue(ex.getMessage().contains(url)); + } +}