Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

...

The JUnit/Cargo support module provided by CODI offers some helpers for easier testing.

Code Block
javajava
titleSimple Cargo Test with the JUnit/Cargo support-module of CODI
java

@RunWith(JUnit4.class)
public class DemoTestCase extends AbstractSimpleCargoTest
{

    // NOTE that new @Test means new WebClient means new WindowContext

    @Test
    public void checkSubmittedValueAfterNavigation() throws Exception
    {
        SimplePageInteraction pageInteraction = new SimplePageInteraction(getTestConfiguration()) //the default config
                .with(Pages.Page1.class)   //adds view-config for /pages/page1.xhtml to the current context
                .with(Pages.Page2.class)   //adds view-config for /pages/page2.xhtml to the current context
                .start(Pages.Page1.class); //start the test with /pages/page2.xhtml

        pageInteraction
                .useForm("form1") //activate form1
                .setValue("form1:input1", "1") //set a value
                .click("form1:button1"); //click on a button

        pageInteraction
                .checkState(Pages.Page2.class); //check the result - due to a redirect we have a new url - also the window-id is checked
                .checkTextValue("output1", "1"); //check the value of a text output
    }
}

...

Writing Cargo Tests with Dependency Injection.

java
Code Block
java
titleSimple Cargo Test with the JUnit/Cargo support-module of CODI and dependency injection
java

@RunWith(JUnit4.class)
public class DemoTestCase extends AbstractContainerAwareCargoTest
{
    @Inject
    private UserRepository userRepository;

    @Test
    public void testSimpleConversation()
    {
        SimplePageInteraction pageInteraction = new SimplePageInteraction(getTestConfiguration())
                .start(Pages.Overview.class)
                .useDefaultForm();

        String inputId = "userName";
        pageInteraction.setValue(inputId, "CODI")
                .clickOk()
                .checkState(Pages.Result.class);

        pageInteraction.click("home")
                .checkState(Pages.Overview.class)
                .checkInputValue(inputId, "CODI");

        pageInteraction.clickOk()
                .checkState(Pages.Result.class);

        pageInteraction.click("finish")
                .checkState(Pages.Overview.class)
                .checkInputValue(inputId, "");

        assertEquals("CODI", this.userRepository.findByUserName("CODI").getUserName());
    }
}

...