@Test
  public void testInvoiceDetail() throws Exception {
    Invoice invoice = service.searchInvoice(null).getData().get(0);
    InvoiceDetail invoiceDetail = service.getInvoiceDetail(invoice.getId());
    try {
      service.deleteInvoice(invoiceDetail, FAIL_CALLBACK);
    } catch (Throwable t) {
      System.out.println("Fail callback exception: " + t.getMessage());
    }
    assertEquals(2, invoiceDetail.getItems().size());
    assertEquals(3, invoiceDetail.getAttributes().size());
    assertEquals(4, invoiceDetail.getContributors().size());
    assertEquals(1, invoiceDetail.getTransactions().size());

    assertEquals(21, count(InvoiceItem.class));
    assertEquals(46, count(Attribute.class));
    assertEquals(43, count(Contributor.class));
    assertEquals(11, count(InvoiceTransaction.class));

    invoiceDetail.getItems().get(0).setPersistableState(State.DELETED);
    assertEquals(2, invoiceDetail.getItems().size());
    invoiceDetail = service.updateInvoiceDetail(invoiceDetail);
    assertEquals(1, invoiceDetail.getItems().size());

    service.deleteTest("SA");

    assertEquals(20, count(InvoiceItem.class));
    assertEquals(46, count(Attribute.class));
    assertEquals(43, count(Contributor.class));
    assertEquals(11, count(InvoiceTransaction.class));
  }
 @Test
 public void testBankAccount() {
   BankAccount bankAccountCNQ = service.getBankAccountById("vcb-credit-ngoquyen");
   assertNotNull(bankAccountCNQ);
   assertNotNull(service.getBankAccountById("vcb-credit-ngoquyen"));
   service.deleteBankAccountByAccountId(bankAccountCNQ.getBankAccountId());
   assertNull(service.getBankAccountById("vcb-credit-ngoquyen"));
 }
Exemple #3
0
 @Override
 /**
  * Account suppression. It is not advisable to suppress an account referenced by any orderline.
  *
  * @see net.algem.ctrl.parametres.ParamTableCtrl#suppression
  */
 public void suppression(Param p) throws AccountDeleteException {
   if (p instanceof Account) {
     Account c = (Account) p;
     service.delete(c);
     desktop.getDataCache().remove(c);
     desktop.postEvent(new GemEvent(this, GemEvent.SUPPRESSION, GemEvent.ACCOUNT, c));
   }
 }
 @Test
 public void testProjectReport() {
   SQLSelectQuery rQuery = new SQLSelectQuery();
   rQuery
       .table("InvoiceDetail", "Attribute")
       .field("Attribute.value", "Name")
       .field("EXTRACT(YEAR FROM InvoiceDetail.startDate) AS year", "Year")
       .field("EXTRACT(MONTH FROM InvoiceDetail.startDate) AS month", "Month")
       .field("sum(InvoiceDetail.finalCharge)", "Grand Total")
       .field("sum(InvoiceDetail.totalPaid)", "Total Paid")
       .cond("Attribute.name = 'restaurant:name'")
       .cond("Attribute.invoiceId = InvoiceDetail.id")
       .groupBy("year", "month", "Attribute.value")
       .orderBy("year", "month");
   System.out.println(rQuery.createSQLQuery());
   ReportTable[] reportTable = service.reportQuery(new SQLSelectQuery[] {rQuery});
   reportTable[0].dump(new String[] {"Name", "Year", "Month", "Grand Total", "Total Paid"});
 }
 @Test
 public void testRevenueEmployeeReport() {
   SQLSelectQuery rQuery = new SQLSelectQuery();
   rQuery
       .table("InvoiceDetail", "Contributor")
       .field("Contributor.role", "Role")
       .field("InvoiceDetail.activityType", "Activity Type")
       .field("Contributor.identifierId", "Employee")
       .field("sum(InvoiceDetail.finalCharge)", "Grand Total")
       .field("sum(InvoiceDetail.totalPaid)", "Total Paid")
       .field("count(InvoiceDetail.type)", "Payment")
       .cond("Contributor.invoiceId = InvoiceDetail.id")
       .groupBy("Contributor.role, Contributor.identifierId", "InvoiceDetail.activityType")
       .orderBy("Contributor.identifierId");
   System.out.println(rQuery.createSQLQuery());
   ReportTable[] reportTable = service.reportQuery(new SQLSelectQuery[] {rQuery});
   reportTable[0].dump(
       new String[] {"Employee", "Role", "Grand Total", "Total Paid", "Payment", "Activity Type"});
 }
 @Test
 public void testInvoiceProductReport() {
   SQLSelectQuery rQuery = new SQLSelectQuery();
   rQuery
       .table("InvoiceDetail", "InvoiceItem", "InvoiceItemAttribute")
       .field("InvoiceItemAttribute.name", "Product")
       .field("InvoiceItemAttribute.value", "")
       .field("sum(InvoiceItem.quantity)", "Quantity")
       .field("sum(InvoiceItem.total)", "Total")
       .field("InvoiceDetail.activityType", "Activity Type")
       .cond("InvoiceItem.invoiceId = InvoiceDetail.id")
       .cond("InvoiceItemAttribute.invoiceItemId = InvoiceItem.id")
       .cond("InvoiceItemAttribute.name = 'Product'")
       .groupBy(
           "InvoiceItemAttribute.name, InvoiceItemAttribute.value, InvoiceDetail.activityType")
       .orderBy("InvoiceItemAttribute.name");
   System.out.println(rQuery.createSQLQuery());
   ReportTable[] reportTable = service.reportQuery(new SQLSelectQuery[] {rQuery});
   reportTable[0].dump(new String[] {"Product", "Quantity", "Total", "Activity Type"});
 }
 @After
 public void cleandb() throws Exception {
   service.deleteAll();
 }
 @Before
 public void setup() throws Exception {
   scenario = AccountingScenario.loadTest();
   service.createScenario(scenario);
 }
 @Test
 public void testSearchInvoiceDetails() throws Exception {
   System.out.println(service.findInvoiceDetailByAttributeItemValue("a:b:c"));
 }