@Test public void projectChange_updatesUi() { when(projectSelectionDialog.showDialog(any())).thenReturn(TEST_PROJECT); projectSelector.handleOpenProjectSelectionDialog(); verifyUiStateForProject(TEST_PROJECT); }
@Test public void setProject_updatesUi() { projectSelector.setSelectedProject(TEST_PROJECT); verifyUiStateForProject(TEST_PROJECT); }
@Test public void projectSelector_startsEmpty() { assertThat(projectSelector.getSelectedProject()).isNull(); verifyUiStateForProject(null); }
@Test public void loadActiveProject_setsValidProject_withValidIdeProject() { projectSelector.setIdeProject(mockIdeProject); when(mockActiveCloudProjectManager.getActiveCloudProject(mockIdeProject)) .thenReturn(TEST_PROJECT); projectSelector.loadActiveCloudProject(); assertThat(projectSelector.getSelectedProject()).isEqualTo(TEST_PROJECT); verifyUiStateForProject(TEST_PROJECT); }
@Test public void setNullProject_acceptsAndUpdatesUi() { projectSelector.setSelectedProject(TEST_PROJECT); projectSelector.setSelectedProject(null); verifyUiStateForProject(null); }
@Test public void loadActiveProject_withoutIdeProject_doesNothing() { projectSelector.loadActiveCloudProject(); assertThat(projectSelector.getSelectedProject()).isNull(); verifyUiStateForProject(null); }
@Test public void setEmptyProject_acceptsAndUpdatesUi() { projectSelector.setSelectedProject(CloudProject.create("", "", "")); verifyUiStateForProject(null); }
@Test public void loadActiveProject_withoutIdeProject_doesNotChangeSelection() { projectSelector.setSelectedProject(TEST_PROJECT); projectSelector.loadActiveCloudProject(); assertThat(projectSelector.getSelectedProject()).isEqualTo(TEST_PROJECT); verifyUiStateForProject(TEST_PROJECT); }
@Test public void validProject_newLogIn_changesTo_AccountInformation() { when(mockLoginService.isLoggedIn()).thenReturn(false); projectSelector.setSelectedProject(TEST_PROJECT); // log in now, fire event mockUserLoggedIn(TEST_PROJECT.googleUsername()); projectSelector.googleLoginListener.statusChanged(); // drain UI events. ApplicationManager.getApplication().invokeAndWait(() -> {}); verifyUiStateForProject(TEST_PROJECT); }