@Override public UUID apply(@Nullable final BusinessInvoicePaymentModelDao input) { if (input == null) { return null; } else { return input.getPaymentId(); } } });
@Test(groups = "slow") public void testCRUD() throws Exception { final String accountKey = UUID.randomUUID().toString(); final BusinessInvoicePaymentModelDao invoicePayment = createInvoicePayment(accountKey); // Verify initial state Assert.assertNull(invoicePaymentSqlDao.getInvoicePayment(invoicePayment.getPaymentId().toString(), internalCallContext)); Assert.assertEquals(invoicePaymentSqlDao.getInvoicePaymentsForAccountByKey(invoicePayment.getAccountKey(), internalCallContext).size(), 0); // Add the invoice payment Assert.assertEquals(invoicePaymentSqlDao.createInvoicePayment(invoicePayment, internalCallContext), 1); // Retrieve it Assert.assertEquals(invoicePaymentSqlDao.getInvoicePayment(invoicePayment.getPaymentId().toString(), internalCallContext), invoicePayment); Assert.assertEquals(invoicePaymentSqlDao.getInvoicePaymentsForAccountByKey(invoicePayment.getAccountKey(), internalCallContext).size(), 1); Assert.assertEquals(invoicePaymentSqlDao.getInvoicePaymentsForAccountByKey(invoicePayment.getAccountKey(), internalCallContext).get(0), invoicePayment); // Delete it Assert.assertEquals(invoicePaymentSqlDao.deleteInvoicePayment(invoicePayment.getPaymentId().toString(), internalCallContext), 1); Assert.assertNull(invoicePaymentSqlDao.getInvoicePayment(invoicePayment.getPaymentId().toString(), internalCallContext)); Assert.assertEquals(invoicePaymentSqlDao.getInvoicePaymentsForAccountByKey(invoicePayment.getAccountKey(), internalCallContext).size(), 0); }
@Test(groups = "slow") public void testSegmentation() throws Exception { final String accountKey1 = UUID.randomUUID().toString(); final BusinessInvoicePaymentModelDao invoicePayment1 = createInvoicePayment(accountKey1); final String accountKey2 = UUID.randomUUID().toString(); final BusinessInvoicePaymentModelDao invoicePayment2 = createInvoicePayment(accountKey2); // Create both invoice payments Assert.assertEquals(invoicePaymentSqlDao.createInvoicePayment(invoicePayment1, internalCallContext), 1); Assert.assertEquals(invoicePaymentSqlDao.createInvoicePayment(invoicePayment2, internalCallContext), 1); Assert.assertEquals(invoicePaymentSqlDao.getInvoicePayment(invoicePayment1.getPaymentId().toString(), internalCallContext), invoicePayment1); Assert.assertEquals(invoicePaymentSqlDao.getInvoicePayment(invoicePayment2.getPaymentId().toString(), internalCallContext), invoicePayment2); Assert.assertEquals(invoicePaymentSqlDao.getInvoicePaymentsForAccountByKey(invoicePayment1.getAccountKey(), internalCallContext).size(), 1); Assert.assertEquals(invoicePaymentSqlDao.getInvoicePaymentsForAccountByKey(invoicePayment2.getAccountKey(), internalCallContext).size(), 1); // Remove the first invoice payment Assert.assertEquals(invoicePaymentSqlDao.deleteInvoicePayment(invoicePayment1.getPaymentId().toString(), internalCallContext), 1); Assert.assertNull(invoicePaymentSqlDao.getInvoicePayment(invoicePayment1.getPaymentId().toString(), internalCallContext)); Assert.assertEquals(invoicePaymentSqlDao.getInvoicePayment(invoicePayment2.getPaymentId().toString(), internalCallContext), invoicePayment2); Assert.assertEquals(invoicePaymentSqlDao.getInvoicePaymentsForAccountByKey(invoicePayment1.getAccountKey(), internalCallContext).size(), 0); Assert.assertEquals(invoicePaymentSqlDao.getInvoicePaymentsForAccountByKey(invoicePayment2.getAccountKey(), internalCallContext).size(), 1); }
Assert.assertEquals(invoicePayment.getInvoiceId(), invoiceId); Assert.assertEquals(invoicePayment.getPaymentError(), paymentError); Assert.assertEquals(invoicePayment.getPaymentId(), paymentId); Assert.assertEquals(invoicePayment.getPaymentMethod(), paymentMethod); Assert.assertEquals(invoicePayment.getPaymentType(), paymentType);
@Override public void bind(final SQLStatement q, final BusinessInvoicePaymentBinder bind, final BusinessInvoicePaymentModelDao invoicePayment) { q.bind("payment_id", invoicePayment.getPaymentId().toString());
public DefaultBusinessInvoicePayment(final BusinessInvoicePaymentModelDao businessInvoicePaymentModelDao) { this.paymentId = businessInvoicePaymentModelDao.getPaymentId(); this.extFirstPaymentRefId = businessInvoicePaymentModelDao.getExtFirstPaymentRefId(); this.extSecondPaymentRefId = businessInvoicePaymentModelDao.getExtSecondPaymentRefId(); this.accountKey = businessInvoicePaymentModelDao.getAccountKey(); this.invoiceId = businessInvoicePaymentModelDao.getInvoiceId(); this.effectiveDate = businessInvoicePaymentModelDao.getEffectiveDate(); this.amount = businessInvoicePaymentModelDao.getAmount(); this.currency = businessInvoicePaymentModelDao.getCurrency(); this.paymentError = businessInvoicePaymentModelDao.getPaymentError(); this.processingStatus = businessInvoicePaymentModelDao.getProcessingStatus(); this.requestedAmount = businessInvoicePaymentModelDao.getRequestedAmount(); this.pluginName = businessInvoicePaymentModelDao.getPluginName(); this.paymentType = businessInvoicePaymentModelDao.getPaymentType(); this.paymentMethod = businessInvoicePaymentModelDao.getPaymentMethod(); this.cardType = businessInvoicePaymentModelDao.getCardType(); this.cardCountry = businessInvoicePaymentModelDao.getCardCountry(); this.invoicePaymentType = businessInvoicePaymentModelDao.getInvoicePaymentType(); this.linkedInvoicePaymentId = businessInvoicePaymentModelDao.getLinkedInvoicePaymentId(); }