Package org.uberfire.client.workbench.widgets.dnd

Source Code of org.uberfire.client.workbench.widgets.dnd.WorkbenchDragAndDropManagerTest

package org.uberfire.client.workbench.widgets.dnd;

import com.allen_sauer.gwt.dnd.client.drop.DropController;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwtmockito.GwtMock;
import com.google.gwtmockito.GwtMockitoTestRunner;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
import org.uberfire.client.workbench.BeanFactory;
import org.uberfire.client.workbench.panels.WorkbenchPanelView;

import static org.junit.Assert.*;
import static org.mockito.Mockito.*;

@RunWith(GwtMockitoTestRunner.class)
public class WorkbenchDragAndDropManagerTest {

    private WorkbenchDragAndDropManagerUnitTestWrapper wrapper;

    @GwtMock
    private WorkbenchPanelView workbenchPanelView;

    @GwtMock
    private WorkbenchPickupDragController dragController;

    @GwtMock
    private DropController dropController;

    @GwtMock
    private BeanFactory factory;

    @Before
    public void setup() {
        wrapper = new WorkbenchDragAndDropManagerUnitTestWrapper();
        wrapper.setupMocks( dragController, factory );
    }

    @Test
    public void assertMakeDraggableDelegation() {
        wrapper.makeDraggable( mock( IsWidget.class ), mock( IsWidget.class ) );
        verify( dragController ).makeDraggable( any( Widget.class ), any( Widget.class ) );
    }

    @Test
    public void registerAndUnregisterDropController() {
        wrapper.registerDropController( workbenchPanelView, dropController );
        assertEquals( wrapper.dropControllerMap.get( workbenchPanelView ), dropController );
        verify( dragController ).registerDropController( dropController );

        wrapper.unregisterDropController( workbenchPanelView );
        verify( dragController ).unregisterDropController( dropController );
        verify( factory ).destroy( dropController );
    }

    @Test
    public void registerAndUnregisterDropControllers() {
        wrapper.registerDropController( workbenchPanelView, dropController );
        assertEquals( wrapper.dropControllerMap.get( workbenchPanelView ), dropController );

        WorkbenchPanelView workbenchPanelView2 = GWT.create( WorkbenchPanelView.class );
        DropController dropController2 = GWT.create( DropController.class );

        wrapper.registerDropController( workbenchPanelView2, dropController2 );
        assertEquals( wrapper.dropControllerMap.get( workbenchPanelView2 ), dropController2 );

        wrapper.unregisterDropControllers();
        verify( factory, Mockito.times(1 )).destroy( dropController );
        verify( factory, Mockito.times(1 )).destroy( dropController2 );
        verify( dragController ).unregisterDropController( dropController );
        verify( dragController ).unregisterDropController( dropController2 );
        assertTrue(wrapper.dropControllerMap.isEmpty());

    }
}
TOP

Related Classes of org.uberfire.client.workbench.widgets.dnd.WorkbenchDragAndDropManagerTest

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.