/*******************************************************************************
* Copyright (c) 2012-2017 Codenvy, S.A.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Codenvy, S.A. - initial API and implementation
*******************************************************************************/
package org.eclipse.che.ide.ui.dialogs.confirm;
import org.eclipse.che.ide.ui.dialogs.BaseTest;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
/**
* Testing {@link ConfirmDialogPresenter} functionality.
*
* @author Artem Zatsarynnyi
*/
public class ConfirmDialogPresenterTest extends BaseTest {
@Mock
private ConfirmDialogView view;
private ConfirmDialogPresenter presenter;
@Before
@Override
public void setUp() {
super.setUp();
presenter = new ConfirmDialogPresenter(view, TITLE, MESSAGE, confirmCallback, cancelCallback);
}
@Test
public void shouldCallCallbackOnCanceled() throws Exception {
presenter.cancelled();
verify(view).closeDialog();
verify(cancelCallback).cancelled();
}
@Test
public void shouldNotCallCallbackOnCanceled() throws Exception {
presenter = new ConfirmDialogPresenter(view, TITLE, MESSAGE, confirmCallback, null);
presenter.cancelled();
verify(view).closeDialog();
verify(cancelCallback, never()).cancelled();
}
@Test
public void shouldCallCallbackOnAccepted() throws Exception {
presenter.accepted();
verify(view).closeDialog();
verify(confirmCallback).accepted();
}
@Test
public void shouldNotCallCallbackOnAccepted() throws Exception {
presenter = new ConfirmDialogPresenter(view, TITLE, MESSAGE, null, cancelCallback);
presenter.accepted();
verify(view).closeDialog();
verify(confirmCallback, never()).accepted();
}
@Test
public void shouldShowView() throws Exception {
presenter.show();
verify(view).showDialog();
}
@Test
public void onEnterClickedWhenAcceptButtonInFocusTest() throws Exception {
when(view.isOkButtonInFocus()).thenReturn(true);
presenter.onEnterClicked();
verify(view).closeDialog();
verify(confirmCallback).accepted();
verify(cancelCallback, never()).cancelled();
}
@Test
public void onEnterClickedWhenCancelButtonInFocusTest() throws Exception {
when(view.isCancelButtonInFocus()).thenReturn(true);
presenter.onEnterClicked();
verify(view).closeDialog();
verify(confirmCallback, never()).accepted();
verify(cancelCallback).cancelled();
}
}