@Test public void testEvaluateExpressionRequestIsSuccessful() throws Exception { when(debugger.evaluate(anyString())).thenReturn(promise); when(view.getExpression()).thenReturn(EXPRESSION); when(promise.then(any(Operation.class))).thenReturn(promise); when(debuggerManager.getActiveDebugger()).thenReturn(debugger); presenter.showDialog(); presenter.onEvaluateClicked(); verify(view, atLeastOnce()).setEnableEvaluateButton(eq(DISABLE_BUTTON)); verify(debugger).evaluate(eq(EXPRESSION)); }
@Test public void shouldEnableEvaluateButtonIfExpressionNotEmpty() throws Exception { when(view.getExpression()).thenReturn(EXPRESSION); presenter.onExpressionValueChanged(); verify(view).setEnableEvaluateButton(eq(!DISABLE_BUTTON)); }
@Test public void shouldShowDialog() throws Exception { presenter.showDialog(); verify(view).setResult(eq(EMPTY_EXPRESSION)); verify(view).setEnableEvaluateButton(eq(DISABLE_BUTTON)); verify(view).showDialog(); verify(view).focusInExpressionField(); }
@Test public void testEvaluateExpressionRequestIsFailed() throws Exception { when(view.getExpression()).thenReturn(EXPRESSION); when(debugger.evaluate(view.getExpression())).thenReturn(promise); when(promise.then((Operation) anyObject())).thenReturn(promise); when(promise.catchError(Matchers.<Operation<PromiseError>>anyObject())).thenReturn(promise); when(debuggerManager.getActiveDebugger()).thenReturn(debugger); when(promiseError.getMessage()).thenReturn(FAIL_REASON); presenter.showDialog(); presenter.onEvaluateClicked(); verify(view, atLeastOnce()).setEnableEvaluateButton(eq(DISABLE_BUTTON)); verify(debugger).evaluate(eq(EXPRESSION)); verify(promise).catchError(errorCaptor.capture()); errorCaptor.getValue().apply(promiseError); verify(view).setEnableEvaluateButton(eq(!DISABLE_BUTTON)); verify(constants).evaluateExpressionFailed(FAIL_REASON); }
@Test public void shouldCloseDialogOnCloseClicked() throws Exception { presenter.onCloseClicked(); verify(view).close(); }