RunnerManagerPresenter extends BasePresenter implements RunnerManager,
                                                                     RunnerManagerView.ActionDelegate,
                                                                     ProjectActionHandler,
                                                                     SelectionManager.SelectionChangeListener { @Override public void onRunButtonClicked() { if (State.TEMPLATE.equals(panelState.getState())) { RunOptions runOptions = dtoFactory.createDto(RunOptions.class) .withOptions(selectedEnvironment.getOptions()) .withEnvironmentId(selectedEnvironment.getId()) .withMemorySize(selectedEnvironment.getRam()); Runner runner = modelsFactory.createRunner(runOptions, selectedEnvironment.getScope(), selectedEnvironment.getName()); if (PROJECT.equals(selectedEnvironment.getScope())) { runner.setScope(PROJECT); } launchRunner(runner); } else { launchRunner(); } } @Inject  RunnerManagerPresenter(final RunnerManagerView view,
                                  RunnerActionFactory actionFactory,
                                  ModelsFactory modelsFactory,
                                  AppContext appContext,
                                  DtoFactory dtoFactory,
                                  ChooseRunnerAction chooseRunnerAction,
                                  EventBus eventBus,
                                  final RunnerLocalizationConstant locale,
                                  @LeftPanel TabContainer leftTabContainer,
                                  @LeftPropertiesPanel TabContainer leftPropertiesContainer,
                                  @RightPropertiesPanel TabContainer rightPropertiesContainer,
                                  PanelState panelState,
                                  Provider<TabBuilder> tabBuilderProvider,
                                  final ConsoleContainer consoleContainer,
                                  TerminalContainer terminalContainer,
                                  PropertiesContainer propertiesContainer,
                                  HistoryPanel history,
                                  TemplatesContainer templateContainer,
                                  RunnerCounter runnerCounter,
                                  SelectionManager selectionManager,
                                  TimerFactory timerFactory,
                                  GetSystemEnvironmentsAction getSystemEnvironmentsAction,
                                  RunnerUtil runnerUtil,
                                  @Run ResourcesLockedActionPermit runActionPermit,
                                  @Run ActionDenyAccessDialog runActionDenyAccessDialog); @NotNull RunnerManagerView getView(); void update(@NotNull Runner runner); @Override void onRunButtonClicked(); @Override void onRerunButtonClicked(); @Override void onStopButtonClicked(); @Override void onLogsButtonClicked(); @Override void stopRunner(@NotNull Runner runner); @Override void onMoreInfoBtnMouseOver(); @Override void onToggleSplitterClicked(boolean isShowSplitter); @Override Runner launchRunner(); @NotNull @Override Runner launchRunner(@NotNull RunOptions runOptions); @Override @NotNull Runner launchRunner(@NotNull RunOptions runOptions, @NotNull Scope scope, @NotNull String environmentName); @Override void go(@NotNull AcceptsOneWidget container); void setActive(); @NotNull @Override String getTitle(); @Nullable @Override ImageResource getTitleImage(); @Nullable @Override String getTitleToolTip(); @Override void onProjectReady(@NotNull ProjectActionEvent projectActionEvent); @Override void onProjectClosing(ProjectActionEvent event); @Override void onProjectClosed(@NotNull ProjectActionEvent projectActionEvent); @Override void onProjectOpened(ProjectActionEvent event); @NotNull Runner addRunner(@NotNull ApplicationProcessDescriptor processDescriptor); void addRunnerId(@NotNull Long runnerId); boolean isRunnerExist(@NotNull Long runnerId); @Override void onSelectionChanged(@NotNull Selection selection); static final String TIMER_STUB; }
@Test public void runnerShouldNotBeRunIfRunnerAndSelectedEnvironmentAreNull() { when(runActionPermit.isAllowed()).thenReturn(true); presenter.onRunButtonClicked(); verifyLaunchRunnerWithNotNullCurrentProject(); }
@Test public void runnerShouldRunSelectedEnvironment() { when(chooseRunnerAction.selectEnvironment()).thenReturn(runnerEnvironment); when(runnerEnvironment.getId()).thenReturn("myEnvId"); Map<String, String> options = Collections.emptyMap(); when(runnerEnvironment.getOptions()).thenReturn(options); when(runnerEnvironment.getRam()).thenReturn(2); presenter.onRunButtonClicked(); verify(runOptions).withOptions(any(Map.class)); verify(runOptions).withEnvironmentId("myEnvId"); }