aboutsummaryrefslogtreecommitdiffstats
path: root/vid-automation/src/main/java/vid/automation/test/sections/VidBasePage.java
blob: 6e0367edd28a7d5efe371608c884c4039d06da15 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
package vid.automation.test.sections;

import org.junit.Assert;
import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils;
import org.openqa.selenium.WebElement;
import vid.automation.test.Constants;
import vid.automation.test.infra.Click;
import vid.automation.test.infra.SelectOption;
import vid.automation.test.infra.Wait;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class VidBasePage {

    public VidBasePage setInstanceName(String name) {
        setInputText(Constants.INSTANCE_NAME_SELECT_TESTS_ID, name);
        return this;
    }

    public void generateAndSetInstanceName(String prefix) {
        String instanceName = generateInstanceName(prefix);
        setInstanceName(instanceName);
    }

    public VidBasePage setInputText(String inputTestsId, String text) {
        WebElement instanceNameInput = GeneralUIUtils.getInputElement(inputTestsId);
        instanceNameInput.sendKeys(text);
        return this;
    }

    public String generateInstanceName(String prefix) {
        SimpleDateFormat sdf = new SimpleDateFormat(Constants.BrowseASDC.DATE_FORMAT);
        Date now = Calendar.getInstance().getTime();
        return prefix + sdf.format(now);
    }

    public VidBasePage selectServiceTypeByName(String serviceType) {
        SelectOption.byTestIdAndVisibleText(serviceType, Constants.SERVICE_TYPE_SELECT_TESTS_ID);
        return this;
    }

    public static void selectSubscriberById(String subscriberId) {
        SelectOption.byValue(subscriberId, Constants.SUBSCRIBER_NAME_SELECT_TESTS_ID);
    }

    public VidBasePage selectProductFamily(String productFamily) {
        SelectOption.byValue(productFamily, Constants.ViewEdit.PRODUCT_FAMILY_SELECT_TESTS_ID);
        return this;
    }

    public VidBasePage selectSuppressRollback(String shouldSuppress) {
        SelectOption.byTestIdAndVisibleText(shouldSuppress, Constants.SUPPRESS_ROLLBACK_SELECT_TESTS_ID);
        return this;
    }

    public VidBasePage clickDeployServiceButtonByServiceUUID(String serviceUUID) {
        setInputText(Constants.BROWSE_SEARCH, serviceUUID);
        String elementTestId = Constants.DEPLOY_BUTTON_TESTS_ID_PREFIX + serviceUUID;
        GeneralUIUtils.clickOnElementByTestId(elementTestId, 30);
        GeneralUIUtils.ultimateWait();
        return this;
    }

    public VidBasePage clickEditViewByInstanceId(String instanceId) {
        String elementTestId = Constants.VIEW_EDIT_TEST_ID_PREFIX + instanceId;
        GeneralUIUtils.clickOnElementByTestId(elementTestId, 100);
        GeneralUIUtils.ultimateWait();
        return this;
    }

    public VidBasePage clickSubmitButton() {
        GeneralUIUtils.clickOnElementByText(Constants.SUBMIT_BUTTON_TEXT, 30);
        return this;
    }

    public VidBasePage clickCancelButton() {
        Click.byId(Constants.generalCancelButtonId);
        return this;
    }


    public VidBasePage clickConfirmButton() {
        GeneralUIUtils.clickOnElementByTestId(Constants.CONFIRM_BUTTON_TESTS_ID, 30);
        return this;
    }

    public VidBasePage clickCloseButton() {
        GeneralUIUtils.clickOnElementByText(Constants.CLOSE_BUTTON_TEXT, 30);
        return this;
    }

    public VidBasePage selectLcpRegion(String lcpRegion) {
        SelectOption.byValue(lcpRegion, Constants.ViewEdit.LCP_REGION_SELECT_TESTS_ID);
        return this;
    }

    public VidBasePage selectTenant(String tenant) {
        SelectOption.byValue(tenant, Constants.ViewEdit.TENANT_SELECT_TESTS_ID);
        return this;
    }

    public VidBasePage selectAicZone(String aicZone) {
        SelectOption.byValue(aicZone, Constants.ViewEdit.AIC_ZONE_TEST_ID);
        return this;
    }

    public void assertButtonState(String dataTestId, boolean shouldBeEnabled) {
        GeneralUIUtils.ultimateWait();
        WebElement webElement = GeneralUIUtils.getWebElementByTestID(dataTestId, 60);
        boolean enabledElement= webElement.getAttribute("disabled")==null?true:false;
        if(shouldBeEnabled) {
            Assert.assertTrue(String.format(Constants.ViewEdit.ENABLE_ERROR_MESSAGE,dataTestId), enabledElement);
        }else{
            Assert.assertFalse(String.format(Constants.ViewEdit.DISABLE_ERROR_MESSAGE,dataTestId),enabledElement);
        }

    }
    public VidBasePage assertMsoRequestModal(String statusMsg) {
        boolean waitForTextResult = Wait.waitByClassAndText("status", statusMsg, 60);
        Assert.assertTrue(statusMsg + " message didn't appear on time", waitForTextResult);

        return this;
    }

    public VidBasePage refreshPage() {
        GeneralUIUtils.getDriver().navigate().refresh();
        return this;
    }

}