Package com.tll.dao

Source Code of com.tll.dao.OrderItemTransDaoTestHandler

/*
* The Logic Lab
*/
package com.tll.dao;

import org.testng.Assert;

import com.tll.model.Account;
import com.tll.model.Asp;
import com.tll.model.Currency;
import com.tll.model.Order;
import com.tll.model.OrderItem;
import com.tll.model.OrderItemTrans;
import com.tll.model.OrderItemTransOp;
import com.tll.model.OrderTrans;

/**
* OrderItemTransDaoTestHandler
* @author jpk
*/
public class OrderItemTransDaoTestHandler extends AbstractEntityDaoTestHandler<OrderItemTrans> {

  private Long pkC, pkA, pkO, pkOt;

  @Override
  public Class<OrderItemTrans> entityClass() {
    return OrderItemTrans.class;
  }

  @Override
  public boolean supportsPaging() {
    // since we can't (currently) create unique multiple instances since the
    // only bk is the binding between pkO item/pkO trans only
    return false;
  }

  @Override
  public void doPersistDependentEntities() {
    final Currency currency = createAndPersist(Currency.class, true);
    pkC = currency.getId();

    Asp account = create(Asp.class, true);
    account.setCurrency(currency);
    account = persist(account);
    pkA = account.getId();

    Order order = create(Order.class, false);
    order.setCurrency(currency);
    order.setAccount(account);
    order.addOrderItem(create(OrderItem.class, true));
    order = persist(order);
    pkO = order.getId();

    OrderTrans orderTrans = create(OrderTrans.class, true);
    orderTrans.setOrder(order);
    orderTrans.setPymntTrans(null);
    orderTrans = persist(orderTrans);
    pkOt = orderTrans.getId();
  }

  @Override
  public void doPurgeDependentEntities() {
    purge(OrderTrans.class, pkOt);
    purge(Order.class, pkO);
    purge(Account.class, pkA);
    purge(Currency.class, pkC);
  }

  @Override
  public void assembleTestEntity(OrderItemTrans e) throws Exception {
    e.setOrderItem(load(Order.class, pkO).getOrderItems().iterator().next());
    e.setOrderTrans(load(OrderTrans.class, pkOt));
  }

  @Override
  public void verifyLoadedEntityState(OrderItemTrans e) throws Exception {
    super.verifyLoadedEntityState(e);
    Assert.assertNotNull(e.getOrderItem());
    Assert.assertNotNull(e.getOrderTrans());
    Assert.assertNotNull(e.getParent());
  }

  @Override
  public void alterTestEntity(OrderItemTrans e) {
    super.alterTestEntity(e);
    Assert.assertFalse(OrderItemTransOp.C.equals(e.getOrderItemTransOp()));
    e.setOrderItemTransOp(OrderItemTransOp.C);
  }

  @Override
  public void verifyEntityAlteration(OrderItemTrans e) throws Exception {
    super.verifyEntityAlteration(e);
    Assert.assertTrue(OrderItemTransOp.C.equals(e.getOrderItemTransOp()));
  }

}
TOP

Related Classes of com.tll.dao.OrderItemTransDaoTestHandler

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.