/******************************************************************************* * 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.workspace.create.recipewidget; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.user.client.Element; import com.google.gwtmockito.GwtMockitoTestRunner; import org.eclipse.che.api.core.rest.shared.dto.Link; import org.eclipse.che.api.machine.shared.dto.recipe.RecipeDescriptor; import org.eclipse.che.ide.workspace.create.recipewidget.RecipeWidget.ActionDelegate; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.vectomatic.dom.svg.OMSVGSVGElement; import org.vectomatic.dom.svg.ui.SVGResource; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; /** * @author Dmitry Shnurenko */ @RunWith(GwtMockitoTestRunner.class) public class RecipeWidgetImplTest { @Mock private RecipeDescriptor descriptor; @Mock private org.eclipse.che.ide.Resources resources; @Mock private Element element; @Mock private SVGResource svgResource; @Mock private OMSVGSVGElement svg; @Mock private ActionDelegate delegate; private RecipeWidgetImpl tag; @Before public void setUp() { when(resources.recipe()).thenReturn(svgResource); when(svgResource.getSvg()).thenReturn(svg); tag = new RecipeWidgetImpl(resources, descriptor); when(tag.icon.getElement()).thenReturn(element); } @Test public void constructorShouldVerified() { verify(descriptor).getName(); verify(descriptor).getType(); verify(tag.tagName).setText(anyString()); verify(tag.type).setText(anyString()); verify(resources).recipe(); verify(tag.icon).getElement(); } @Test public void recipeURLShouldBeReturned() { Link link = mock(Link.class); when(descriptor.getLink(anyString())).thenReturn(link); tag.getRecipeUrl(); verify(descriptor).getLink("get recipe script"); verify(link).getHref(); } @Test public void tagShouldBeSelected() { ClickEvent clickEvent = mock(ClickEvent.class); tag.setDelegate(delegate); tag.onClick(clickEvent); verify(delegate).onTagClicked(tag); } }