Package no.ugland.utransprod.gui.group1

Source Code of no.ugland.utransprod.gui.group1.ConfirmReportViewTest

package no.ugland.utransprod.gui.group1;

import static junit.framework.Assert.assertEquals;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyObject;
import static org.mockito.Mockito.when;

import java.util.ArrayList;
import java.util.List;

import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.UIManager;

import no.ugland.utransprod.gui.ConfirmReportView;
import no.ugland.utransprod.gui.DeviationOverviewViewFactory;
import no.ugland.utransprod.gui.JDialogAdapter;
import no.ugland.utransprod.gui.LFEnum;
import no.ugland.utransprod.gui.Login;
import no.ugland.utransprod.gui.WindowInterface;
import no.ugland.utransprod.gui.handlers.ConfirmReportViewHandler;
import no.ugland.utransprod.gui.handlers.DeviationViewHandlerFactory;
import no.ugland.utransprod.gui.handlers.OrderViewHandler;
import no.ugland.utransprod.gui.util.JYearChooserFinder;
import no.ugland.utransprod.model.Order;
import no.ugland.utransprod.model.ProductAreaGroup;
import no.ugland.utransprod.service.ApplicationParamManager;
import no.ugland.utransprod.service.ManagerRepository;
import no.ugland.utransprod.service.OrderManager;
import no.ugland.utransprod.service.ProductAreaGroupManager;
import no.ugland.utransprod.service.ProductAreaManager;
import no.ugland.utransprod.test.GUITests;
import no.ugland.utransprod.util.ApplicationParamUtil;
import no.ugland.utransprod.util.ModelUtil;
import no.ugland.utransprod.util.Util;

import org.fest.swing.core.ComponentFinder;
import org.fest.swing.edt.GuiActionRunner;
import org.fest.swing.edt.GuiQuery;
import org.fest.swing.fixture.DialogFixture;
import org.fest.swing.fixture.JTabbedPaneFixture;
import org.fest.swing.timing.Pause;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;

import com.birosoft.liquid.LiquidLookAndFeel;
import com.toedter.calendar.JYearChooser;
@Category(GUITests.class)
public class ConfirmReportViewTest {
  static {
    try {

      UIManager.setLookAndFeel(LFEnum.LNF_LIQUID.getClassName());
      JFrame.setDefaultLookAndFeelDecorated(true);
      LiquidLookAndFeel.setLiquidDecorations(true, "mac");

    } catch (Exception e) {
      e.printStackTrace();
    }
  }

  private DialogFixture dialogFixture;
  private ConfirmReportViewHandler viewHandler;

  @Mock
  private Login login;
  @Mock
  private ManagerRepository managerRepository;
  @Mock
  private DeviationOverviewViewFactory deviationOverviewViewFactory;
  @Mock
  private DeviationViewHandlerFactory deviationViewHandlerFactory;
  @Mock
  private OrderManager orderManager;
  @Mock
  private ProductAreaManager productAreaManager;
  private ProductAreaGroupManager productAreaGroupManager;
  @Mock
  private ApplicationParamManager applicationParamManager;

  @Before
  public void setUp() throws Exception {
    MockitoAnnotations.initMocks(this);
    productAreaGroupManager=(ProductAreaGroupManager)ModelUtil.getBean(ProductAreaGroupManager.MANAGER_NAME);

    Util.setProductAreaGroupManager(productAreaGroupManager);
    ApplicationParamUtil.setApplicationParamManger(applicationParamManager);
    when(managerRepository.getOrderManager()).thenReturn(orderManager);
    when(managerRepository.getProductAreaManager()).thenReturn(
        productAreaManager);
    List<Order> orderList = new ArrayList<Order>();
    Order order = new Order();
    orderList.add(order);
    when(
        orderManager.findByConfirmWeekProductAreaGroup(anyInt(),
            anyInt(), anyInt(), (ProductAreaGroup) anyObject()))
        .thenReturn(orderList);

    OrderViewHandler orderViewHandler = new OrderViewHandler(login,
        managerRepository, deviationOverviewViewFactory,
        deviationViewHandlerFactory, true);

    viewHandler = new ConfirmReportViewHandler(orderViewHandler,
        managerRepository);
    final ConfirmReportView view = new ConfirmReportView(viewHandler);

    JDialog dialog = GuiActionRunner.execute(new GuiQuery<JDialog>() {
      protected JDialog executeInEDT() {
        JDialog dialog = new JDialog();
        WindowInterface window = new JDialogAdapter(dialog);
        dialog.add(view.buildPanel(window));
        dialog.pack();
        return dialog;
      }
    });
    dialogFixture = new DialogFixture(dialog);
    dialogFixture.show();

  }

  @After
  public void tearDown() throws Exception {
    dialogFixture.cleanUp();
  }

  @Test
  public void testShow() {
    dialogFixture.requireVisible();

    ComponentFinder finder = dialogFixture.robot.finder();
    finder.find(new JYearChooserFinder("YearChooser"));

    dialogFixture.comboBox("ComboBoxWeekFrom").requireVisible();
    dialogFixture.comboBox("ComboBoxWeekTo").requireVisible();
    dialogFixture.button("ButtonGenerateReport").requireVisible();

    JTabbedPaneFixture tabbedPane = dialogFixture.tabbedPane(
        "TabbedPaneResult").requireVisible();
    dialogFixture.table("TableResult").requireVisible();
    tabbedPane.selectTab(1);
    dialogFixture.table("TableOrders");
    dialogFixture.button("ButtonCancel");
  }

  @Test
  public void testGenerateReport() throws Exception {
    dialogFixture.requireVisible();

    ComponentFinder finder = dialogFixture.robot.finder();
    JYearChooser yearChooser = finder.find(new JYearChooserFinder(
        "YearChooser"));
    yearChooser.setYear(2008);

    dialogFixture.comboBox("ComboBoxWeekFrom").requireVisible();
    dialogFixture.comboBox("ComboBoxWeekFrom").target.setSelectedItem(40);
    dialogFixture.comboBox("ComboBoxWeekTo").requireVisible();
    dialogFixture.comboBox("ComboBoxWeekTo").target.setSelectedItem(41);
    dialogFixture.comboBox("ComboBoxProductAreaGroup").target
        .setSelectedItem(1);

    dialogFixture.button("ButtonGenerateReport").click();
    Pause.pause(1000);
    assertEquals(true, dialogFixture.table("TableResult").target
        .getRowCount() != 0);
  }

}
TOP

Related Classes of no.ugland.utransprod.gui.group1.ConfirmReportViewTest

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.