public class TestUiEnvironment
extends org.junit.rules.ExternalResource
App
, AppUI
and initialized ClientUserSession
.
Usually, you should use an additional mocking framework in order to mock middleware services, e.g. JMockit or Spock.
Usage:
// setup environment, pass desired container instance to constructor @Rule public TestUiEnvironment environment = new TestUiEnvironment(TestContainer.Common.INSTANCE) .withLocale(Locale.ENGLISH) .withUserLogin("admin"); // mock services @Mocked public UserManagementService userManagementService; @Before public void before() { new Expectations() {{ userManagementService.getSubstitutedUsers((UUID) any); result = Collections.emptyList(); minTimes = 0; }}; TestServiceProxy.mock(UserManagementService.class, userManagementService); } // test something @Test public void openMainScreen() { // open screens, manipulate UI Screen screen = environment.getScreens() .create(MainScreen.class, OpenMode.ROOT) .show(); assertNotNull(screen); assertTrue(screen instanceof MainScreen); }
TestContainer
Modifier and Type | Field and Description |
---|---|
protected App |
app |
protected TestContainer |
container |
protected java.util.Locale |
locale |
protected java.lang.String[] |
screenPackages |
protected boolean |
sessionAuthenticated |
protected TestUserSessionSource |
sessionSource |
protected AppUI |
ui |
static java.lang.String |
USER_ID |
protected java.lang.String |
userLogin |
protected java.lang.String |
userName |
Constructor and Description |
---|
TestUiEnvironment(TestContainer container) |
Modifier and Type | Method and Description |
---|---|
protected void |
after() |
protected void |
before() |
protected void |
cleanupEnvironment() |
protected UserSession |
createSession() |
protected User |
createUser() |
protected void |
exportScreens(java.lang.String... packages) |
TestContainer |
getContainer() |
Dialogs |
getDialogs() |
protected org.springframework.beans.factory.config.AutowireCapableBeanFactory |
getInjector() |
protected java.util.Locale |
getLocale() |
Notifications |
getNotifications() |
Screens |
getScreens() |
TestUserSessionSource |
getSessionSource() |
AppUI |
getUI() |
UserSession |
getUserSession() |
protected boolean |
isSessionAuthenticated() |
protected void |
resetScreens() |
TestUiEnvironment |
sessionAuthenticated(boolean sessionAuthenticated)
Sets authenticated flag to the mocked user session.
|
protected void |
setupEnvironment() |
protected void |
setupSession() |
protected void |
setupVaadinUi() |
protected void |
setupWebBeans() |
TestUiEnvironment |
withLocale(java.util.Locale locale)
Sets locale to the mocked user session.
|
TestUiEnvironment |
withScreenPackages(java.lang.String... screenPackages)
Overrides screen packages that will be scanned by
WindowConfig . |
TestUiEnvironment |
withUserLogin(java.lang.String userLogin)
Sets user login to the mocked user session.
|
TestUiEnvironment |
withUserName(java.lang.String userName)
Sets user name to the mocked user session.
|
public static final java.lang.String USER_ID
protected TestContainer container
protected TestUserSessionSource sessionSource
protected App app
protected AppUI ui
protected boolean sessionAuthenticated
protected java.util.Locale locale
protected java.lang.String userLogin
protected java.lang.String userName
protected java.lang.String[] screenPackages
public TestUiEnvironment(TestContainer container)
protected void before() throws java.lang.Throwable
before
in class org.junit.rules.ExternalResource
java.lang.Throwable
protected void after()
after
in class org.junit.rules.ExternalResource
protected void setupEnvironment()
protected void setupWebBeans()
protected void setupSession()
protected void setupVaadinUi()
protected org.springframework.beans.factory.config.AutowireCapableBeanFactory getInjector()
protected boolean isSessionAuthenticated()
protected UserSession createSession()
protected java.util.Locale getLocale()
protected User createUser()
protected void cleanupEnvironment()
protected void exportScreens(java.lang.String... packages)
protected void resetScreens()
public TestUserSessionSource getSessionSource()
public TestContainer getContainer()
public UserSession getUserSession()
UserSessionSource
public AppUI getUI()
public Screens getScreens()
public Dialogs getDialogs()
public Notifications getNotifications()
public TestUiEnvironment sessionAuthenticated(boolean sessionAuthenticated)
sessionAuthenticated
- true if user is authenticatedpublic TestUiEnvironment withLocale(java.util.Locale locale)
locale
- localepublic TestUiEnvironment withUserLogin(java.lang.String userLogin)
userLogin
- user loginpublic TestUiEnvironment withUserName(java.lang.String userName)
userName
- user namepublic TestUiEnvironment withScreenPackages(java.lang.String... screenPackages)
WindowConfig
.screenPackages
- screen packages