Package honeycrm.server.test.small

Source Code of honeycrm.server.test.small.CsvImportPresenterTest

package honeycrm.server.test.small;

import static org.easymock.EasyMock.createNiceMock;
import static org.easymock.EasyMock.expectLastCall;
import static org.easymock.EasyMock.getCurrentArguments;
import static org.easymock.EasyMock.isA;
import static org.easymock.EasyMock.replay;
import honeycrm.client.dto.Dto;
import honeycrm.client.mvp.presenters.CsvImportPresenter;
import honeycrm.client.mvp.presenters.CsvImportPresenter.Display;
import honeycrm.client.services.CreateServiceAsync;
import honeycrm.server.domain.Contact;
import honeycrm.server.test.small.mocks.CsvImportViewMock;
import junit.framework.TestCase;

import org.easymock.IAnswer;

import com.google.gwt.event.shared.SimpleEventBus;
import com.google.gwt.user.client.rpc.AsyncCallback;

public class CsvImportPresenterTest extends TestCase {
  private Display view;
  private CreateServiceAsync createService;
  private SimpleEventBus eventBus;
  private String module;
  private CsvImportPresenter presenter;

  @Override
  protected void setUp() throws Exception {
    this.view = new CsvImportViewMock();
    this.createService = createNiceMock(CreateServiceAsync.class);
    this.eventBus = new SimpleEventBus();
    this.module = Contact.class.getSimpleName();

    createService.create(isA(Dto.class), isA(AsyncCallback.class));
    expectLastCall().andAnswer(new IAnswer<Object>() {
      @Override
      public Object answer() throws Throwable {
        final Object[] arguments = getCurrentArguments();
        AsyncCallback<Long> callback = (AsyncCallback<Long>) arguments[arguments.length - 1];
        callback.onSuccess(1L);
        return null;
      }
    });

    replay(createService);

    presenter = new CsvImportPresenter(createService, eventBus, view, module);
  }

  public void testCreate() {
    presenter = new CsvImportPresenter(createService, eventBus, view, module);
  }

  public void testParsing() {
    assertEquals(0, presenter.getDtoArrayFromText("").length);
  }

  public void testImportOne() {
    final Dto contact = new Dto(Contact.class.getSimpleName());
    contact.set("name", "Mike");
    presenter.importDto(new Dto[] { contact }, 0);
  }

  public void testImportMore() {
    final int count = 10000;
    final Dto[] contacts = new Dto[count];
    for (int i = 0; i < count; i++) {
      contacts[i] = new Dto(Contact.class.getSimpleName());
      contacts[i].set("name", "Mike" + i);
    }
    presenter.importDto(contacts, 0);
  }
}
TOP

Related Classes of honeycrm.server.test.small.CsvImportPresenterTest

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.