### Question:
SettingsPresenter { @PostConstruct public void setup() { sectionManager.init(settingsSections.getList(), view.getMenuItemsContainer(), view.getContentContainer()); } @Inject  SettingsPresenter(final View view,
                             final Promises promises,
                             final Event<NotificationEvent> notificationEvent,
                             final @Customizable SettingsSections<ProjectScreenModel> settingsSections,
                             final SavePopUpPresenter savePopUpPresenter,
                             final Caller<ProjectScreenService> projectScreenService,
                             final WorkspaceProjectContext projectContext,
                             final ManagedInstance<ObservablePath> observablePaths,
                             final ConflictingRepositoriesPopup conflictingRepositoriesPopup,
                             final SectionManager<ProjectScreenModel> sectionManager,
                             final ProjectController projectController); @PostConstruct void setup(); Promise<Void> setupUsingCurrentSection(); void showSaveModal(); void onSettingsSectionChanged(@Observes final SettingsSectionChange<ProjectScreenModel> settingsSectionChange); boolean mayClose(); void reset(); View getView();  }### Answer:
@Test public void testSetup() { final Section<ProjectScreenModel> section1 = newMockedSection(); final Section<ProjectScreenModel> section2 = newMockedSection(); final List<Section<ProjectScreenModel>> sections = Arrays.asList(section1, section2); doReturn(sections).when(settingsSections).getList(); doReturn(promises.resolve()).when(presenter).setupUsingCurrentSection(); presenter.setup(); verify(sectionManager).init(eq(sections), any(), any()); }
@Test public void testSetupNoMainModule() { doReturn(Optional.empty()).when(projectContext).getActiveModule(); presenter.setup(); verify(view, never()).showBusyIndicator(); }