killbill-memoizeit
invoice: don't try to generate something if there is no invoice Signed-off-by: …
7/3/2012 3:04:04 PM
Changes
Details
diff --git a/invoice/src/main/java/com/ning/billing/invoice/template/HtmlInvoiceGenerator.java b/invoice/src/main/java/com/ning/billing/invoice/template/HtmlInvoiceGenerator.java
index f27bce7..04c5075 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/template/HtmlInvoiceGenerator.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/template/HtmlInvoiceGenerator.java
@@ -16,6 +16,7 @@
package com.ning.billing.invoice.template;
+import javax.annotation.Nullable;
import java.io.IOException;
import java.util.HashMap;
import java.util.Locale;
@@ -42,7 +43,12 @@ public class HtmlInvoiceGenerator {
this.config = config;
}
- public String generateInvoice(final Account account, final Invoice invoice) throws IOException {
+ public String generateInvoice(final Account account, @Nullable final Invoice invoice) throws IOException {
+ // Don't do anything if the invoice is null
+ if (invoice == null) {
+ return null;
+ }
+
final Map<String, Object> data = new HashMap<String, Object>();
final DefaultInvoiceTranslator invoiceTranslator = new DefaultInvoiceTranslator(config);
final Locale locale = new Locale(account.getLocale());
diff --git a/invoice/src/test/java/com/ning/billing/invoice/TestHtmlInvoiceGenerator.java b/invoice/src/test/java/com/ning/billing/invoice/TestHtmlInvoiceGenerator.java
index 049e7e4..8c9ace4 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/TestHtmlInvoiceGenerator.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/TestHtmlInvoiceGenerator.java
@@ -59,12 +59,18 @@ public class TestHtmlInvoiceGenerator {
}
@Test(groups = "fast")
- public void testGenerateNullInvoice() throws Exception {
+ public void testGenerateEmptyInvoice() throws Exception {
final Invoice invoice = Mockito.mock(Invoice.class);
final String output = g.generateInvoice(createAccount(), invoice);
Assert.assertNotNull(output);
}
+ @Test(groups = "fast")
+ public void testGenerateNullInvoice() throws Exception {
+ final String output = g.generateInvoice(createAccount(), null);
+ Assert.assertNull(output);
+ }
+
private Account createAccount() {
final Account account = BrainDeadProxyFactory.createBrainDeadProxyFor(Account.class);
final ZombieControl zombieControl = (ZombieControl) account;