com.solidmaps.test.action.LicenseCivilTestAction.java Source code

Java tutorial

Introduction

Here is the source code for com.solidmaps.test.action.LicenseCivilTestAction.java

Source

package com.solidmaps.test.action;

import java.util.ArrayList;
import java.util.List;

import org.openqa.selenium.By;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

import com.solidmaps.test.form.CompanyForm;
import com.solidmaps.test.form.LicenseCivilForm;
import com.solidmaps.test.form.ProductForm;
import com.solidmaps.test.po.LicenseCivilInsertPO;
import com.solidmaps.test.po.LicenseCivilListPO;

public class LicenseCivilTestAction {

    private RemoteWebDriver driver;
    private CompanyTestAction companyAction;
    private ProductTestAction productAction;

    public LicenseCivilTestAction(RemoteWebDriver driver) {
        this.driver = driver;
        this.companyAction = new CompanyTestAction(driver);
        this.productAction = new ProductTestAction(driver);
    }

    public LicenseCivilForm create() {

        // Cria a Empresa e o Produto
        CompanyForm companyForm = companyAction.create();
        ProductForm productForm = productAction.create();

        // Cria a lista de Produtos
        List<ProductForm> listProduct = new ArrayList<ProductForm>();
        listProduct.add(productForm);

        LicenseCivilForm form = LicenseCivilForm.getDefaultForm(companyForm, listProduct);

        // Abre o cadastro de Licena
        LicenseCivilListPO licenseListPO = new LicenseCivilListPO(driver);
        licenseListPO.open();
        LicenseCivilInsertPO licenseInsertPO = licenseListPO.addLicense();

        // Submit
        licenseInsertPO.submit(form);

        // Espera carregar a pagina de OK (listagem)
        (new WebDriverWait(driver, 10))
                .until(ExpectedConditions.presenceOfElementLocated(By.id("form-list-license")));

        // Atualiza o Form com o ID
        form.setIdLicense(driver.findElement(By.name("idLicenseNew")).getAttribute("value"));

        return form;
    }

    /**
     * Cria um registro baseado em um Form
     * 
     * @param form
     * @return
     */
    public LicenseCivilInsertPO validate(LicenseCivilForm form) {
        // Abre o cadastro de Licena
        LicenseCivilListPO licenseListPO = new LicenseCivilListPO(driver);
        licenseListPO.open();
        LicenseCivilInsertPO licenseInsertPO = licenseListPO.addLicense();

        // Submit
        licenseInsertPO.submit(form);

        // Espera carregar a pagina de OK (listagem)
        (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(By.id("divErrorMsg")));

        return new LicenseCivilInsertPO(driver);
    }

    public void delete(String idLicense) {
        LicenseCivilListPO licenseListPO = new LicenseCivilListPO(driver);
        licenseListPO.open();
        licenseListPO.delete(idLicense);
    }

    public LicenseCivilInsertPO update(String idLicense) {
        LicenseCivilListPO licenseListPO = new LicenseCivilListPO(driver);
        licenseListPO.open();
        return licenseListPO.update(idLicense);
    }

}