blob: 2629a16baa51f493bc29d9541bb2393f09658c27 [file] [log] [blame]
/*******************************************************************************
* 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);
}
}