/** Updates project list if this list is for currently selected account. if not, does nothing. */ private void refreshProjectListUi(@Nullable CredentialedUser user) { if (Objects.equals(user, accountComboBox.getSelectedItem())) { if (cachedProjectList.containsKey(user)) { setLoading(false); projectListTableModel.setProjectList(cachedProjectList.get(user)); showProjectInList(selectedProjectsByAccount.get(user)); } else { // no data clears the list. projectListTableModel.setProjectList(Collections.emptyList()); } // if project list is loading, mark table as busy. if (runningProjectLoaderJobs.containsKey(user)) { setLoading(true); } } }
@Test public void getCloudProject_returns_selectedProject() { prepareOneTestUserOneTestProjectDialog(testUiProject); Project secondProject = new Project(); secondProject.setName("project-2"); secondProject.setProjectId("project-2-id"); mockUserProjects(mockTestUser, Arrays.asList(testGoogleProject, secondProject)); cleanLoadUsersAndProjects(); projectSelectionDialog.showProjectInList(secondProject.getName()); CloudProject selectedProject = projectSelectionDialog.getSelectedProject(); CloudProject expected = CloudProject.create( secondProject.getName(), secondProject.getProjectId(), mockTestUser.getEmail()); assertThat(selectedProject).isEqualTo(expected); }