/******************************************************************************* * Copyright (c) 2015 Tasktop Technologies and others. * 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: * Tasktop Technologies - initial API and implementation *******************************************************************************/ package org.eclipse.mylyn.internal.tasks.ui.wizards; import static org.eclipse.mylyn.internal.tasks.ui.wizards.Messages.SelectRepositoryConnectorPage_Select_a_task_repository_type; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import org.eclipse.mylyn.internal.tasks.ui.ConnectorBrand; import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryConnector; import org.eclipse.mylyn.tasks.tests.connector.MockRepositorySettingsPage; import org.junit.Before; import org.junit.Test; public class NewRepositoryWizardTest { private NewRepositoryWizard wizard; @Before public void setUp() { wizard = new NewRepositoryWizard(); wizard.addPages(); } @Test public void testGetNextPageIWizardPage() { SelectRepositoryConnectorPage page = (SelectRepositoryConnectorPage) wizard .getPage(SelectRepositoryConnectorPage_Select_a_task_repository_type); page.setConnectorBrand(new ConnectorBrand(new MockRepositoryConnector(), "org.mylyn")); wizard.getNextPage(null); assertNull(wizard.getBrand()); wizard.getNextPage(page); assertEquals("org.mylyn", wizard.getBrand()); } @Test public void testSetsBrandOnSettingsPage() { MockRepositorySettingsPage settingsPage = navigateWithBrands("org.mylyn"); assertEquals("org.mylyn", settingsPage.getBrand()); } public void testSetsBrandOnSettingsPageNoBrand() { MockRepositorySettingsPage settingsPage = navigateWithBrands((String) null); assertEquals("", settingsPage.getBrand()); } @Test public void testSetsBrandOnSettingsPageBrandChangeToNull() { MockRepositorySettingsPage settingsPage = navigateWithBrands("org.mylyn", null); assertEquals("", settingsPage.getBrand()); } @Test public void testSetsBrandOnSettingsPageBrandChangeFromNull() { MockRepositorySettingsPage settingsPage = navigateWithBrands(null, "org.mylyn"); assertEquals("org.mylyn", settingsPage.getBrand()); } @Test public void testSetsBrandOnSettingsPageBrandChange() { MockRepositorySettingsPage settingsPage = navigateWithBrands("org.eclipse", "org.mylyn"); assertEquals("org.mylyn", settingsPage.getBrand()); } private MockRepositorySettingsPage navigateWithBrands(String... brands) { SelectRepositoryConnectorPage selectionPage = (SelectRepositoryConnectorPage) wizard .getPage(SelectRepositoryConnectorPage_Select_a_task_repository_type); for (String brand : brands) { selectionPage.setConnectorBrand(new ConnectorBrand(new MockRepositoryConnector(), brand)); wizard.getNextPage(selectionPage); } return (MockRepositorySettingsPage) wizard.getNextPage(selectionPage); } }