diff --git a/core/src/main/java/google/registry/model/tld/label/PremiumList.java b/core/src/main/java/google/registry/model/tld/label/PremiumList.java index 80672466f..709f68767 100644 --- a/core/src/main/java/google/registry/model/tld/label/PremiumList.java +++ b/core/src/main/java/google/registry/model/tld/label/PremiumList.java @@ -169,6 +169,14 @@ public final class PremiumList extends BaseDomainLabelList= 0, "Price must not be negative"); + return super.build(); + } } } diff --git a/core/src/test/java/google/registry/model/tld/label/PremiumListTest.java b/core/src/test/java/google/registry/model/tld/label/PremiumListTest.java index 3cffd5291..39471ed49 100644 --- a/core/src/test/java/google/registry/model/tld/label/PremiumListTest.java +++ b/core/src/test/java/google/registry/model/tld/label/PremiumListTest.java @@ -110,28 +110,44 @@ public class PremiumListTest { @Test void testValidation_labelMustBeLowercase() { - Exception e = - assertThrows( - IllegalArgumentException.class, - () -> - new PremiumEntry.Builder() - .setPrice(BigDecimal.valueOf(399)) - .setLabel("UPPER.tld") - .build()); - assertThat(e).hasMessageThat().contains("must be in puny-coded, lower-case form"); + assertThat( + assertThrows( + IllegalArgumentException.class, + () -> + new PremiumEntry.Builder() + .setPrice(BigDecimal.valueOf(399)) + .setLabel("UPPER.tld") + .build())) + .hasMessageThat() + .contains("must be in puny-coded, lower-case form"); + } + + @Test + void testValidation_priceMustNotBeNegative() { + assertThat( + assertThrows( + IllegalArgumentException.class, + () -> + new PremiumEntry.Builder() + .setPrice(BigDecimal.valueOf(-100)) + .setLabel("anchor") + .build())) + .hasMessageThat() + .isEqualTo("Price must not be negative"); } @Test void testValidation_labelMustBePunyCoded() { - Exception e = - assertThrows( - IllegalArgumentException.class, - () -> - new PremiumEntry.Builder() - .setPrice(BigDecimal.valueOf(399)) - .setLabel("lower.みんな") - .build()); - assertThat(e).hasMessageThat().contains("must be in puny-coded, lower-case form"); + assertThat( + assertThrows( + IllegalArgumentException.class, + () -> + new PremiumEntry.Builder() + .setPrice(BigDecimal.valueOf(399)) + .setLabel("lower.みんな") + .build())) + .hasMessageThat() + .contains("must be in puny-coded, lower-case form"); } @Test