All Downloads are FREE. Search and download functionalities are using the official Maven repository.

appfuse.web.tapestry.form-test.ftl Maven / Gradle / Ivy

There is a newer version: 3.5.0
Show newest version
<#assign pojoNameLower = pojo.shortName.substring(0,1).toLowerCase()+pojo.shortName.substring(1)>
<#assign getIdMethodName = pojo.getGetterSignature(pojo.identifierProperty)>
<#assign setIdMethodName = 'set' + pojo.getPropertyName(pojo.identifierProperty)>
<#assign identifierType = pojo.getJavaTypeName(pojo.identifierProperty, jdk5)>
package ${basepackage}.webapp.pages;

import org.apache.tapestry5.dom.Element;
import org.apache.tapestry5.dom.Node;
import static org.junit.Assert.*;
import org.junit.Test;

import java.util.List;
import java.util.ResourceBundle;

public class ${pojo.shortName}FormTest extends BasePageTestCase {

    @Test
    public void testCancel() throws Exception {
        doc = tester.renderPage("${pojoNameLower}List");
        Element table = doc.getElementById("${pojoNameLower}List");
        List rows = table.find("tbody").getChildren();
        String ${pojo.identifierProperty.name} = ((Element) rows.get(0)).find("td/a").getChildMarkup().trim();

        Element editLink = table.getElementById("${pojoNameLower}-" + ${pojo.identifierProperty.name});
        doc = tester.clickLink(editLink);

        Element cancelButton = doc.getElementById("cancel");
        doc = tester.clickLink(cancelButton);

        ResourceBundle rb = ResourceBundle.getBundle(MESSAGES);

        assertTrue(doc.toString().contains(rb.getString("${pojoNameLower}List.title")));
    }

    @Test
    public void testSave() throws Exception {
        doc = tester.renderPage("${pojoNameLower}Form");

        Element form = doc.getElementById("${pojoNameLower}Form");
        assertNotNull(form);

        // enter all required fields
<#foreach field in pojo.getAllPropertiesIterator()>
    <#foreach column in field.getColumnIterator()>
        <#if !field.equals(pojo.identifierProperty) && !column.nullable && !c2h.isCollection(field) && !c2h.isManyToOne(field) && !c2j.isComponent(field)>
            <#lt/>        fieldValues.put("${field.name}", <#rt/>
            <#if field.value.typeName == "java.lang.String" && column.isUnique()><#lt/>${data.generateRandomStringValue(column)}<#else>"${data.getValueForWebTest(column)}"<#lt/>);
        
    


        doc = tester.submitForm(form, fieldValues);

        Element errors = doc.getElementById("errorMessages");

        if (errors != null) {
            System.out.println(errors);
        }

        assertNull(doc.getElementById("errorMessages"));

        assertTrue(doc.toString().contains("added successfully"));
        Element table = doc.getElementById("${pojoNameLower}List");
    }

    @Test
    public void testRemove() throws Exception {
        doc = tester.renderPage("${pojoNameLower}List");
        Element table = doc.getElementById("${pojoNameLower}List");
        List rows = table.find("tbody").getChildren();
        String ${pojo.identifierProperty.name} = ((Element) rows.get(1)).find("td/a").getChildMarkup().trim();

        Element editLink = table.getElementById("${pojoNameLower}-" + ${pojo.identifierProperty.name});
        doc = tester.clickLink(editLink);

        Element deleteButton = doc.getElementById("delete");
        doc = tester.clickLink(deleteButton);
        assertTrue(doc.toString().contains("deleted successfully"));
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy