This repository has been archived by the owner on Nov 30, 2021. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
JBPM-5219: reseting screen view after a document upload. That prevent…
…s errors uploading documents on MultipleSubForms (#62)
- Loading branch information
Showing
8 changed files
with
316 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
127 changes: 127 additions & 0 deletions
127
...java/org/jbpm/formModeler/service/bb/mvc/components/handling/AbstractBeanHandlerTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
package org.jbpm.formModeler.service.bb.mvc.components.handling; | ||
|
||
import javax.servlet.http.HttpServletRequest; | ||
|
||
import org.jbpm.formModeler.service.bb.mvc.components.CurrentComponentRenderer; | ||
import org.jbpm.formModeler.service.bb.mvc.controller.CommandRequest; | ||
import org.jbpm.formModeler.service.bb.mvc.controller.CommandResponse; | ||
import org.jbpm.formModeler.service.bb.mvc.controller.responses.SendStreamResponse; | ||
import org.junit.Test; | ||
|
||
import static org.junit.Assert.*; | ||
import static org.mockito.Mockito.*; | ||
|
||
public abstract class AbstractBeanHandlerTest<T extends BeanHandler> { | ||
|
||
protected CommandRequest request; | ||
protected HttpServletRequest httpServletRequest; | ||
|
||
protected CurrentComponentRenderer renderer; | ||
|
||
protected BaseUIComponent component; | ||
|
||
protected T handlerComponent; | ||
|
||
public abstract T getHandlerComponent(); | ||
|
||
protected void initTest( final boolean isAjax ) { | ||
|
||
renderer = mock( CurrentComponentRenderer.class ); | ||
|
||
component = mock( BaseUIComponent.class ); | ||
|
||
when( component.getBaseComponentJSP() ).thenReturn( "/test/myComponent.jsp" ); | ||
|
||
when( renderer.getCurrentComponent() ).thenReturn( component ); | ||
|
||
handlerComponent = getHandlerComponent(); | ||
|
||
request = mock( CommandRequest.class ); | ||
|
||
httpServletRequest = mock( HttpServletRequest.class ); | ||
|
||
when( request.getRequestObject() ).thenReturn( httpServletRequest ); | ||
|
||
when( httpServletRequest.getParameter( "ajaxAction" ) ).thenReturn( isAjax ? "true" : "false" ); | ||
} | ||
|
||
@Test | ||
public void testDefaultAjaxActionWithResponse() throws Exception { | ||
|
||
initTest( true ); | ||
|
||
CommandResponse response = handlerComponent.handle( request, "withResponse" ); | ||
|
||
verify( request, atLeastOnce() ).getRequestObject(); | ||
|
||
verify( httpServletRequest ).getParameter( "ajaxAction" ); | ||
|
||
assertNotNull( "Response cannot be null", response ); | ||
} | ||
|
||
@Test | ||
public void testDefaultNonAjaxActionWithResponse() throws Exception { | ||
|
||
initTest( false ); | ||
|
||
CommandResponse response = handlerComponent.handle( request, "withResponse" ); | ||
|
||
verify( request, atLeastOnce() ).getRequestObject(); | ||
|
||
verify( httpServletRequest ).getParameter( "ajaxAction" ); | ||
|
||
assertNull( "Response must be null", response ); | ||
} | ||
|
||
@Test | ||
public void testDefaultAjaxActionWithoutResponse() throws Exception { | ||
|
||
initTest( true ); | ||
|
||
CommandResponse response = handlerComponent.handle( request, "withoutResponse" ); | ||
|
||
verify( request, atLeastOnce() ).getRequestObject(); | ||
|
||
verify( httpServletRequest ).getParameter( "ajaxAction" ); | ||
|
||
assertNotNull( "Response cannot be null", response ); | ||
} | ||
|
||
@Test | ||
public void testDefaultNonAjaxActionWithoutResponse() throws Exception { | ||
|
||
initTest( false ); | ||
|
||
CommandResponse response = handlerComponent.handle( request, "withoutResponse" ); | ||
|
||
verify( request, atLeastOnce() ).getRequestObject(); | ||
|
||
verify( httpServletRequest ).getParameter( "ajaxAction" ); | ||
|
||
assertNull( "Response be null", response ); | ||
} | ||
|
||
@Test | ||
public void testActionWithStreamResponse() throws Exception { | ||
|
||
doTestActionWithStreamResponse( true ); | ||
|
||
doTestActionWithStreamResponse( false ); | ||
} | ||
|
||
protected void doTestActionWithStreamResponse( boolean ajax ) throws Exception { | ||
|
||
initTest( true ); | ||
|
||
CommandResponse response = handlerComponent.handle( request, "download" ); | ||
|
||
verify( request, never() ).getRequestObject(); | ||
|
||
verify( httpServletRequest, never() ).getParameter( "ajaxAction" ); | ||
|
||
assertNotNull( "Response cannot be null", response ); | ||
|
||
assertTrue( "Response must be SendStreamResponse", response instanceof SendStreamResponse ); | ||
|
||
} | ||
} |
46 changes: 46 additions & 0 deletions
46
...est/java/org/jbpm/formModeler/service/bb/mvc/components/handling/BaseUIComponentTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
package org.jbpm.formModeler.service.bb.mvc.components.handling; | ||
|
||
import javax.servlet.http.HttpServletRequest; | ||
|
||
import org.jbpm.formModeler.service.LocaleManager; | ||
import org.jbpm.formModeler.service.bb.mvc.components.CurrentComponentRenderer; | ||
import org.jbpm.formModeler.service.bb.mvc.components.handling.mocks.MyBaseUIComponent; | ||
import org.jbpm.formModeler.service.bb.mvc.controller.CommandRequest; | ||
import org.jbpm.formModeler.service.bb.mvc.controller.CommandResponse; | ||
import org.junit.Test; | ||
import org.junit.runner.RunWith; | ||
import org.mockito.runners.MockitoJUnitRunner; | ||
|
||
import static org.junit.Assert.*; | ||
import static org.mockito.Mockito.*; | ||
|
||
@RunWith(MockitoJUnitRunner.class) | ||
public class BaseUIComponentTest extends AbstractBeanHandlerTest<BaseUIComponent> { | ||
|
||
protected LocaleManager localeManager; | ||
|
||
@Override | ||
public BaseUIComponent getHandlerComponent() { | ||
localeManager = mock( LocaleManager.class ); | ||
|
||
return new MyBaseUIComponent( localeManager, renderer ); | ||
} | ||
|
||
@Test | ||
public void testStartComponent() throws Exception { | ||
|
||
initTest( true ); | ||
|
||
CommandResponse response = handlerComponent.handle( request, "Start" ); | ||
|
||
verify( request, atLeastOnce() ).getRequestObject(); | ||
|
||
verify( httpServletRequest ).getParameter( "ajaxAction" ); | ||
|
||
verify( localeManager, atLeastOnce() ).setCurrentLang( anyString() ); | ||
|
||
assertNull( "Response must be null", response ); | ||
|
||
assertFalse( "Shouldn't be first time", handlerComponent.isFirstTime() ); | ||
} | ||
} |
14 changes: 14 additions & 0 deletions
14
...rc/test/java/org/jbpm/formModeler/service/bb/mvc/components/handling/BeanHandlerTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
package org.jbpm.formModeler.service.bb.mvc.components.handling; | ||
|
||
import org.jbpm.formModeler.service.bb.mvc.components.handling.mocks.MyBeanHandler; | ||
import org.junit.runner.RunWith; | ||
import org.mockito.runners.MockitoJUnitRunner; | ||
|
||
@RunWith(MockitoJUnitRunner.class) | ||
public class BeanHandlerTest extends AbstractBeanHandlerTest<BeanHandler> { | ||
|
||
@Override | ||
public BeanHandler getHandlerComponent() { | ||
return new MyBeanHandler( renderer ); | ||
} | ||
} |
58 changes: 58 additions & 0 deletions
58
...java/org/jbpm/formModeler/service/bb/mvc/components/handling/mocks/MyBaseUIComponent.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
package org.jbpm.formModeler.service.bb.mvc.components.handling.mocks; | ||
|
||
import org.jbpm.formModeler.service.LocaleManager; | ||
import org.jbpm.formModeler.service.bb.mvc.components.CurrentComponentRenderer; | ||
import org.jbpm.formModeler.service.bb.mvc.components.handling.BaseUIComponent; | ||
import org.jbpm.formModeler.service.bb.mvc.controller.CommandRequest; | ||
import org.jbpm.formModeler.service.bb.mvc.controller.CommandResponse; | ||
import org.jbpm.formModeler.service.bb.mvc.controller.responses.DoNothingResponse; | ||
import org.jbpm.formModeler.service.bb.mvc.controller.responses.SendStreamResponse; | ||
|
||
import static org.mockito.Mockito.mock; | ||
|
||
public class MyBaseUIComponent extends BaseUIComponent { | ||
|
||
protected CurrentComponentRenderer renderer; | ||
|
||
public MyBaseUIComponent( LocaleManager localeManager, CurrentComponentRenderer renderer ) { | ||
this.localeManager = localeManager; | ||
this.renderer = renderer; | ||
|
||
this.setEnabledForActionHandling( true ); | ||
this.setEnableDoubleClickControl( false ); | ||
|
||
start(); | ||
} | ||
|
||
@Override | ||
public String getBaseComponentJSP() { | ||
return "/test/myComponent.jsp"; | ||
} | ||
|
||
@Override | ||
public void doStart( CommandRequest request ) { | ||
|
||
} | ||
|
||
public CommandResponse actionWithResponse( CommandRequest request ) { | ||
return new DoNothingResponse(); | ||
} | ||
|
||
public void actionWithoutResponse( CommandRequest request ) { | ||
|
||
} | ||
|
||
public SendStreamResponse actionDownload( CommandRequest request ) { | ||
return mock( SendStreamResponse.class ); | ||
} | ||
|
||
@Override | ||
public String getBeanJSP() { | ||
return getBaseComponentJSP(); | ||
} | ||
|
||
@Override | ||
protected CurrentComponentRenderer getCurrentComponentRenderer() { | ||
return renderer; | ||
} | ||
} |
41 changes: 41 additions & 0 deletions
41
...est/java/org/jbpm/formModeler/service/bb/mvc/components/handling/mocks/MyBeanHandler.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
package org.jbpm.formModeler.service.bb.mvc.components.handling.mocks; | ||
|
||
import org.jbpm.formModeler.service.bb.mvc.components.CurrentComponentRenderer; | ||
import org.jbpm.formModeler.service.bb.mvc.components.handling.BeanHandler; | ||
import org.jbpm.formModeler.service.bb.mvc.controller.CommandRequest; | ||
import org.jbpm.formModeler.service.bb.mvc.controller.CommandResponse; | ||
import org.jbpm.formModeler.service.bb.mvc.controller.responses.DoNothingResponse; | ||
import org.jbpm.formModeler.service.bb.mvc.controller.responses.SendStreamResponse; | ||
|
||
import static org.mockito.Mockito.*; | ||
|
||
public class MyBeanHandler extends BeanHandler { | ||
|
||
protected CurrentComponentRenderer renderer; | ||
|
||
public MyBeanHandler( CurrentComponentRenderer renderer ) { | ||
this.renderer = renderer; | ||
|
||
this.setEnabledForActionHandling( true ); | ||
this.setEnableDoubleClickControl( false ); | ||
|
||
this.start(); | ||
} | ||
|
||
public CommandResponse actionWithResponse( CommandRequest request ) { | ||
return new DoNothingResponse(); | ||
} | ||
|
||
public void actionWithoutResponse( CommandRequest request ) { | ||
|
||
} | ||
|
||
public SendStreamResponse actionDownload( CommandRequest request ) { | ||
return mock( SendStreamResponse.class ); | ||
} | ||
|
||
@Override | ||
protected CurrentComponentRenderer getCurrentComponentRenderer() { | ||
return renderer; | ||
} | ||
} |