@GET @Path("/{creditId:" + UUID_PATTERN + "}") @Produces(APPLICATION_JSON) public Response getCredit(@PathParam("creditId") final String creditId, @javax.ws.rs.core.Context final HttpServletRequest request) throws InvoiceApiException, AccountApiException { final TenantContext tenantContext = context.createContext(request); final InvoiceItem credit = invoiceUserApi.getCreditById(UUID.fromString(creditId), tenantContext); final Invoice invoice = invoiceUserApi.getInvoice(credit.getInvoiceId(), tenantContext); final CreditJson creditJson = new CreditJson(invoice, credit); return Response.status(Response.Status.OK).entity(creditJson).build(); }
private CreditJson createCreditJson() { final BigDecimal creditAmount = BigDecimal.TEN; final String invoiceId = UUID.randomUUID().toString(); final String invoiceNumber = UUID.randomUUID().toString(); final LocalDate effectiveDate = clock.getUTCToday(); final String accountId = UUID.randomUUID().toString(); return new CreditJson(creditAmount, invoiceId, invoiceNumber, effectiveDate, accountId, null); } }
@Test(groups = "fast") public void testJson() throws Exception { final BigDecimal creditAmount = BigDecimal.TEN; final String invoiceId = UUID.randomUUID().toString(); final String invoiceNumber = UUID.randomUUID().toString(); final LocalDate effectiveDate = clock.getUTCToday(); final String accountId = UUID.randomUUID().toString(); final List<AuditLogJson> auditLogs = createAuditLogsJson(clock.getUTCNow()); final CreditJson creditJson = new CreditJson(creditAmount, invoiceId, invoiceNumber, effectiveDate, accountId, auditLogs); Assert.assertEquals(creditJson.getEffectiveDate(), effectiveDate); Assert.assertEquals(creditJson.getCreditAmount(), creditAmount); Assert.assertEquals(creditJson.getInvoiceId(), invoiceId); Assert.assertEquals(creditJson.getInvoiceNumber(), invoiceNumber); Assert.assertEquals(creditJson.getAccountId(), accountId); final String asJson = mapper.writeValueAsString(creditJson); final CreditJson fromJson = mapper.readValue(asJson, CreditJson.class); Assert.assertEquals(fromJson, creditJson); } }
if (InvoiceItemType.CREDIT_ADJ.equals(invoiceItem.getInvoiceItemType())) { final List<AuditLog> auditLogs = accountAuditLogs.getAuditLogsForInvoiceItem(invoiceItem.getId()); credits.add(new CreditJson(invoice, invoiceItem, auditLogs));