@Test public void testAddContentChangeHandler() { doAnswer( new Answer() { @Override public Object answer( InvocationOnMock invocation ) throws Throwable { final ContentChangeHandler handler = (ContentChangeHandler) invocation.getArguments()[ 0 ]; if ( handler != null ) { handler.onContentChange(); } return null; } } ).when( view ).addContentChangeHandler( any( ContentChangeHandler.class ) ); presenter.addContentChangeHandler( mock( ContentChangeHandler.class ) ); final ArgumentCaptor<WizardPageStatusChangeEvent> eventCaptor = ArgumentCaptor.forClass( WizardPageStatusChangeEvent.class ); verify( wizardPageStatusChangeEvent ).fire( eventCaptor.capture() ); assertEquals( presenter, eventCaptor.getValue().getPage() ); }
@Test public void testIsValid() { when( view.getTemplateName() ).thenReturn( "templateName", "", "templateName" ); when( view.isRuleCapabilityChecked() ).thenReturn( true, false ); when( view.isProcessCapabilityChecked() ).thenReturn( true, false ); when( view.isPlanningCapabilityChecked() ).thenReturn( false ); assertTrue( presenter.isValid() ); verify( view ).noErrorOnTemplateName(); verify( view ).noErrorOnCapability(); assertFalse( presenter.isValid() ); verify( view ).errorOnTemplateName(); verify( view, times( 2 ) ).noErrorOnCapability(); assertFalse( presenter.isValid() ); verify( view, times( 2 ) ).noErrorOnTemplateName(); verify( view ).errorCapability(); }
@Test public void testComplete() { when( newTemplatePresenter.isProcessCapabilityChecked() ).thenReturn( true ); when( newContainerFormPresenter.isEmpty() ).thenReturn( true ); when( newContainerFormPresenter.isEmpty() ).thenReturn( true ); when( newTemplatePresenter.getTemplateName() ).thenReturn( "template-name" ); final String successMessage = "SUCCESS"; when( newTemplatePresenterView.getNewServerTemplateWizardSaveSuccess() ).thenReturn( successMessage ); newServerTemplateWizard.complete(); verify( notification ).fire( new NotificationEvent( successMessage, NotificationEvent.NotificationType.SUCCESS ) ); verifyClear(); verify( serverTemplateListRefreshEvent ).fire( new ServerTemplateListRefresh( "template-name" ) ); doThrow( new RuntimeException() ).when( specManagementService ).saveServerTemplate( any( ServerTemplate.class ) ); final String errorMessage = "ERROR"; when( newTemplatePresenterView.getNewServerTemplateWizardSaveError() ).thenReturn( errorMessage ); newServerTemplateWizard.complete(); verify( notification ).fire( new NotificationEvent( errorMessage, NotificationEvent.NotificationType.ERROR ) ); verify( newServerTemplateWizard ).pageSelected( 0 ); verify( newServerTemplateWizard ).start(); verify( newContainerFormPresenter ).initialise(); }
@Override public void isComplete(final Callback<Boolean> callback) { if (isValid()) { specManagementService.call(new RemoteCallback<Boolean>() { @Override public void callback(final Boolean result) { if (result.equals(Boolean.FALSE)) { view.errorOnTemplateName(view.getInvalidErrorMessage()); callback.callback(false); } else { callback.callback(true); } } }).isNewServerTemplateIdValid(view.getTemplateName()); } else { callback.callback(false); } }
@Test public void testIsComplete() { final Callback callback = mock( Callback.class ); final String templateName = "templateName"; when( view.getTemplateName() ).thenReturn( templateName ).thenReturn( templateName, templateName, templateName, "" ); when( view.isRuleCapabilityChecked() ).thenReturn( true ); when( view.isProcessCapabilityChecked() ).thenReturn( true ); when( specManagementService.isNewServerTemplateIdValid( templateName ) ).thenReturn( true, false ); presenter.isComplete( callback ); verify( specManagementService ).isNewServerTemplateIdValid( templateName ); verify( callback ).callback( true ); presenter.isComplete( callback ); verify( specManagementService, times( 2 ) ).isNewServerTemplateIdValid( templateName ); verify( callback ).callback( false ); presenter.isComplete( callback ); verify( callback, times( 2 ) ).callback( false ); verify( view ).errorOnTemplateName(); }
public boolean isValid() { boolean hasError = false; if (isTemplateNameValid()) { view.noErrorOnTemplateName(); } else { view.errorOnTemplateName(); hasError = true; } if (isCapabilityValid()) { view.noErrorOnCapability(); } else { view.errorCapability(); hasError = true; } return !hasError; }
public void clear() { view.clear(); }
public String getTemplateName() { return view.getTemplateName(); }
public boolean hasProcessCapability() { return view.getProcessCapabilityCheck(); }
public boolean isTemplateNameValid() { final String templateName = view.getTemplateName(); return templateName == null ? false : !templateName.trim().isEmpty(); }
@Override public String getTitle() { return newTemplatePresenter.getView().getNewServerTemplateWizardTitle(); }
@Override public Widget asWidget() { return view.asWidget(); }
@Override public void callback(final Boolean result) { if (result.equals(Boolean.FALSE)) { view.errorOnTemplateName(view.getInvalidErrorMessage()); callback.callback(false); } else { callback.callback(true); } } }).isNewServerTemplateIdValid(view.getTemplateName());
@Test public void testIsTemplateNameValid() { when( view.getTemplateName() ) .thenReturn( null ) .thenReturn( "" ) .thenReturn( "test" ); assertFalse( presenter.isTemplateNameValid() ); assertFalse( presenter.isTemplateNameValid() ); assertTrue( presenter.isTemplateNameValid() ); }
@Test public void testTemplateName() { final String templateName = "templateName"; when( view.getTemplateName() ).thenReturn( templateName ); assertEquals( templateName, presenter.getTemplateName() ); verify( view ).getTemplateName(); }
@Test public void testHasProcessCapability() { when( view.getProcessCapabilityCheck() ).thenReturn( true, false ); assertTrue( presenter.hasProcessCapability() ); assertFalse( presenter.hasProcessCapability() ); verify( view, times( 2 ) ).getProcessCapabilityCheck(); }
@Test public void testTitle() { final String title = "title"; when( newTemplatePresenterView.getNewServerTemplateWizardTitle() ).thenReturn( title ); assertEquals( title, newServerTemplateWizard.getTitle() ); verify( newTemplatePresenterView ).getNewServerTemplateWizardTitle(); }
@Override public boolean error( final Object o, final Throwable throwable ) { notification.fire( new NotificationEvent( newTemplatePresenter.getView().getNewServerTemplateWizardSaveError(), NotificationEvent.NotificationType.ERROR ) ); NewServerTemplateWizard.this.pageSelected( 0 ); NewServerTemplateWizard.this.start(); return false; } } ).saveServerTemplate( newServerTemplate );
public void addContentChangeHandler(final ContentChangeHandler contentChangeHandler) { checkNotNull("contentChangeHandler", contentChangeHandler); view.addContentChangeHandler(new ContentChangeHandler() { @Override public void onContentChange() { contentChangeHandler.onContentChange(); wizardPageStatusChangeEvent.fire(new WizardPageStatusChangeEvent(NewTemplatePresenter.this)); } }); }
@Override public void callback( final Void o ) { notification.fire( new NotificationEvent( newTemplatePresenter.getView().getNewServerTemplateWizardSaveSuccess(), NotificationEvent.NotificationType.SUCCESS ) ); clear(); NewServerTemplateWizard.super.complete(); serverTemplateListRefreshEvent.fire( new ServerTemplateListRefresh( newServerTemplate.getId() ) ); } }, new ErrorCallback<Object>() {