/* * Copyright 2015 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.kie.workbench.common.screens.datamodeller.client.widgets.packageselector; import java.util.HashMap; import java.util.Map; import com.google.gwtmockito.GwtMockitoTestRunner; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.kie.workbench.common.screens.datamodeller.client.validation.ValidatorService; import org.kie.workbench.common.services.shared.validation.ValidationService; import org.mockito.Mock; import org.uberfire.mocks.CallerMock; import org.uberfire.mvp.Command; import static org.junit.Assert.*; import static org.mockito.Matchers.any; import static org.mockito.Mockito.*; @RunWith( GwtMockitoTestRunner.class ) public class NewPackagePopupTest { protected ValidatorService validatorService; @Mock protected ValidationService validationService; protected CallerMock<ValidationService> validationServiceCallerMock; @Mock private NewPackagePopupView view; @Before public void initTest() { validationServiceCallerMock = new CallerMock<ValidationService>( validationService ); validatorService = new ValidatorService( validationServiceCallerMock ); } @Test public void showAndCreateValidPackageTest() { NewPackagePopup newPackagePopup = new NewPackagePopup( view, validatorService ); final boolean commandExecuted[] = {false}; newPackagePopup.show( new Command() { @Override public void execute() { commandExecuted[ 0 ] = true; } } ); Map<String, Boolean> validationResult = new HashMap<String, Boolean>(); validationResult.put( "somePackageName", true ); when( validationService.evaluateJavaIdentifiers( any( String[].class ) ) ).thenReturn( validationResult ); when( view.getPackageName() ).thenReturn( "somePackageName" ); newPackagePopup.onCreatePackage(); //the command is executed only when a valid package name was provided. verify( view, times( 1 ) ).hide(); assertEquals( true, commandExecuted[0] ); } }