54 changed files with 1285 additions and 210 deletions
@ -0,0 +1,128 @@ |
|||||
|
/** |
||||
|
* Copyright © 2016-2022 The Thingsboard Authors |
||||
|
* |
||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
|
* you may not use this file except in compliance with the License. |
||||
|
* You may obtain a copy of the License at |
||||
|
* |
||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
* |
||||
|
* Unless required by applicable law or agreed to in writing, software |
||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
* See the License for the specific language governing permissions and |
||||
|
* limitations under the License. |
||||
|
*/ |
||||
|
package org.thingsboard.server.msa.ui.tests.assetProfileSmoke; |
||||
|
|
||||
|
import io.qameta.allure.Description; |
||||
|
import org.openqa.selenium.Keys; |
||||
|
import org.testng.Assert; |
||||
|
import org.testng.annotations.AfterMethod; |
||||
|
import org.testng.annotations.BeforeMethod; |
||||
|
import org.testng.annotations.Test; |
||||
|
import org.thingsboard.server.msa.ui.base.AbstractDriverBaseTest; |
||||
|
import org.thingsboard.server.msa.ui.pages.LoginPageHelper; |
||||
|
import org.thingsboard.server.msa.ui.pages.ProfilesPageHelper; |
||||
|
import org.thingsboard.server.msa.ui.pages.SideBarMenuViewHelper; |
||||
|
import org.thingsboard.server.msa.ui.utils.DataProviderCredential; |
||||
|
import org.thingsboard.server.msa.ui.utils.EntityPrototypes; |
||||
|
|
||||
|
import static org.thingsboard.server.msa.ui.base.AbstractBasePage.getRandomNumber; |
||||
|
import static org.thingsboard.server.msa.ui.utils.Const.EMPTY_ASSET_PROFILE_MESSAGE; |
||||
|
import static org.thingsboard.server.msa.ui.utils.Const.ENTITY_NAME; |
||||
|
|
||||
|
public class AssetProfileEditMenuTest extends AbstractDriverBaseTest { |
||||
|
|
||||
|
private SideBarMenuViewHelper sideBarMenuView; |
||||
|
private ProfilesPageHelper profilesPage; |
||||
|
private String name; |
||||
|
|
||||
|
@BeforeMethod |
||||
|
public void login() { |
||||
|
new LoginPageHelper(driver).authorizationTenant(); |
||||
|
sideBarMenuView = new SideBarMenuViewHelper(driver); |
||||
|
profilesPage = new ProfilesPageHelper(driver); |
||||
|
} |
||||
|
|
||||
|
@AfterMethod |
||||
|
public void delete() { |
||||
|
if (name != null) { |
||||
|
testRestClient.deleteAssetProfile(getAssetProfileByName(name).getId()); |
||||
|
name = null; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 10, groups = "smoke") |
||||
|
@Description |
||||
|
public void changeName() { |
||||
|
String name = ENTITY_NAME; |
||||
|
String newName = "Changed" + getRandomNumber(); |
||||
|
testRestClient.postAssetProfile(EntityPrototypes.defaultAssetProfile(name)); |
||||
|
this.name = name; |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.entity(name).click(); |
||||
|
profilesPage.setHeaderName(); |
||||
|
String nameBefore = profilesPage.getHeaderName(); |
||||
|
jsClick(profilesPage.editPencilBtn()); |
||||
|
profilesPage.changeNameEditMenu(newName); |
||||
|
profilesPage.doneBtnEditView().click(); |
||||
|
this.name = newName; |
||||
|
profilesPage.setHeaderName(); |
||||
|
String nameAfter = profilesPage.getHeaderName(); |
||||
|
|
||||
|
Assert.assertNotEquals(nameBefore, nameAfter); |
||||
|
Assert.assertEquals(nameAfter, newName); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 10, groups = "smoke") |
||||
|
@Description |
||||
|
public void deleteName() { |
||||
|
String name = ENTITY_NAME; |
||||
|
testRestClient.postAssetProfile(EntityPrototypes.defaultAssetProfile(name)); |
||||
|
this.name = name; |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.entity(name).click(); |
||||
|
jsClick(profilesPage.editPencilBtn()); |
||||
|
profilesPage.changeNameEditMenu(""); |
||||
|
|
||||
|
Assert.assertFalse(profilesPage.doneBtnEditViewVisible().isEnabled()); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 20, groups = "smoke") |
||||
|
@Description |
||||
|
public void saveWithOnlySpaceInName() { |
||||
|
String name = ENTITY_NAME; |
||||
|
testRestClient.postAssetProfile(EntityPrototypes.defaultAssetProfile(name)); |
||||
|
this.name = name; |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.entity(name).click(); |
||||
|
jsClick(profilesPage.editPencilBtn()); |
||||
|
profilesPage.changeNameEditMenu(Keys.SPACE); |
||||
|
profilesPage.doneBtnEditView().click(); |
||||
|
|
||||
|
Assert.assertNotNull(profilesPage.warningMessage()); |
||||
|
Assert.assertTrue(profilesPage.warningMessage().isDisplayed()); |
||||
|
Assert.assertEquals(profilesPage.warningMessage().getText(), EMPTY_ASSET_PROFILE_MESSAGE); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 30, groups = "smoke", dataProviderClass = DataProviderCredential.class, dataProvider = "editMenuDescription") |
||||
|
@Description |
||||
|
public void editDescription(String description, String newDescription, String finalDescription) { |
||||
|
String name = ENTITY_NAME; |
||||
|
testRestClient.postAssetProfile(EntityPrototypes.defaultAssetProfile(name, description)); |
||||
|
this.name = name; |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.entity(name).click(); |
||||
|
jsClick(profilesPage.editPencilBtn()); |
||||
|
profilesPage.profileViewDescriptionField().sendKeys(newDescription); |
||||
|
profilesPage.doneBtnEditView().click(); |
||||
|
profilesPage.setDescription(); |
||||
|
|
||||
|
Assert.assertEquals(profilesPage.getDescription(), finalDescription); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,126 @@ |
|||||
|
/** |
||||
|
* Copyright © 2016-2022 The Thingsboard Authors |
||||
|
* |
||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
|
* you may not use this file except in compliance with the License. |
||||
|
* You may obtain a copy of the License at |
||||
|
* |
||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
* |
||||
|
* Unless required by applicable law or agreed to in writing, software |
||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
* See the License for the specific language governing permissions and |
||||
|
* limitations under the License. |
||||
|
*/ |
||||
|
package org.thingsboard.server.msa.ui.tests.assetProfileSmoke; |
||||
|
|
||||
|
import io.qameta.allure.Description; |
||||
|
import org.testng.Assert; |
||||
|
import org.testng.annotations.AfterMethod; |
||||
|
import org.testng.annotations.BeforeMethod; |
||||
|
import org.testng.annotations.Test; |
||||
|
import org.thingsboard.server.msa.ui.base.AbstractDriverBaseTest; |
||||
|
import org.thingsboard.server.msa.ui.pages.LoginPageHelper; |
||||
|
import org.thingsboard.server.msa.ui.pages.ProfilesPageHelper; |
||||
|
import org.thingsboard.server.msa.ui.pages.SideBarMenuViewHelper; |
||||
|
import org.thingsboard.server.msa.ui.utils.EntityPrototypes; |
||||
|
|
||||
|
import static org.thingsboard.server.msa.ui.utils.Const.EMPTY_IMPORT_MESSAGE; |
||||
|
import static org.thingsboard.server.msa.ui.utils.Const.IMPORT_ASSET_PROFILE_FILE_NAME; |
||||
|
import static org.thingsboard.server.msa.ui.utils.Const.IMPORT_ASSET_PROFILE_NAME; |
||||
|
import static org.thingsboard.server.msa.ui.utils.Const.IMPORT_TXT_FILE_NAME; |
||||
|
import static org.thingsboard.server.msa.ui.utils.Const.SAME_NAME_WARNING_ASSET_PROFILE_MESSAGE; |
||||
|
|
||||
|
public class CreateAssetProfileImportTest extends AbstractDriverBaseTest { |
||||
|
|
||||
|
private SideBarMenuViewHelper sideBarMenuView; |
||||
|
private ProfilesPageHelper profilesPage; |
||||
|
private final String absolutePathToFileImportAssetProfile = getClass().getClassLoader().getResource(IMPORT_ASSET_PROFILE_FILE_NAME).getPath(); |
||||
|
private final String absolutePathToFileImportTxt = getClass().getClassLoader().getResource(IMPORT_TXT_FILE_NAME).getPath(); |
||||
|
private String name; |
||||
|
|
||||
|
@BeforeMethod |
||||
|
public void login() { |
||||
|
new LoginPageHelper(driver).authorizationTenant(); |
||||
|
sideBarMenuView = new SideBarMenuViewHelper(driver); |
||||
|
profilesPage = new ProfilesPageHelper(driver); |
||||
|
} |
||||
|
|
||||
|
@AfterMethod |
||||
|
public void delete() { |
||||
|
if (name != null) { |
||||
|
testRestClient.deleteAssetProfile(getAssetProfileByName(name).getId()); |
||||
|
name = null; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 20, groups = "smoke") |
||||
|
@Description |
||||
|
public void importAssetProfile() { |
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.openImportAssetProfileView(); |
||||
|
profilesPage.browseFile().sendKeys(absolutePathToFileImportAssetProfile); |
||||
|
profilesPage.importBrowseFileBtn().click(); |
||||
|
name = IMPORT_ASSET_PROFILE_NAME; |
||||
|
profilesPage.refreshBtn().click(); |
||||
|
|
||||
|
Assert.assertNotNull(profilesPage.entity(IMPORT_ASSET_PROFILE_NAME)); |
||||
|
Assert.assertTrue(profilesPage.entity(IMPORT_ASSET_PROFILE_NAME).isDisplayed()); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 20, groups = "smoke") |
||||
|
@Description |
||||
|
public void importTxtFile() { |
||||
|
sideBarMenuView.openDeviceProfiles(); |
||||
|
profilesPage.openImportDeviceProfileView(); |
||||
|
profilesPage.browseFile().sendKeys(absolutePathToFileImportTxt); |
||||
|
|
||||
|
Assert.assertNotNull(profilesPage.importingFile(EMPTY_IMPORT_MESSAGE)); |
||||
|
Assert.assertTrue(profilesPage.importingFile(EMPTY_IMPORT_MESSAGE).isDisplayed()); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 20, groups = "smoke") |
||||
|
@Description |
||||
|
public void addFileToImportAndRemove() { |
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.openImportAssetProfileView(); |
||||
|
profilesPage.browseFile().sendKeys(absolutePathToFileImportAssetProfile); |
||||
|
profilesPage.clearImportFileBtn().click(); |
||||
|
|
||||
|
Assert.assertNotNull(profilesPage.importingFile(EMPTY_IMPORT_MESSAGE)); |
||||
|
Assert.assertTrue(profilesPage.importingFile(EMPTY_IMPORT_MESSAGE).isDisplayed()); |
||||
|
Assert.assertTrue(profilesPage.entityIsNotPresent(IMPORT_ASSET_PROFILE_NAME)); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 20, groups = "smoke") |
||||
|
@Description |
||||
|
public void importAssetProfileWithSameName() { |
||||
|
String name = IMPORT_ASSET_PROFILE_NAME; |
||||
|
testRestClient.postAssetProfile(EntityPrototypes.defaultAssetProfile(name)); |
||||
|
this.name = name; |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.openImportAssetProfileView(); |
||||
|
profilesPage.browseFile().sendKeys(absolutePathToFileImportAssetProfile); |
||||
|
profilesPage.importBrowseFileBtn().click(); |
||||
|
profilesPage.refreshBtn().click(); |
||||
|
|
||||
|
Assert.assertNotNull(profilesPage.warningMessage()); |
||||
|
Assert.assertTrue(profilesPage.warningMessage().isDisplayed()); |
||||
|
Assert.assertEquals(profilesPage.warningMessage().getText(), SAME_NAME_WARNING_ASSET_PROFILE_MESSAGE); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 20, groups = "smoke") |
||||
|
@Description |
||||
|
public void importAssetProfileWithoutRefresh() { |
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.openImportAssetProfileView(); |
||||
|
profilesPage.browseFile().sendKeys(absolutePathToFileImportAssetProfile); |
||||
|
profilesPage.importBrowseFileBtn().click(); |
||||
|
name = IMPORT_ASSET_PROFILE_NAME; |
||||
|
|
||||
|
Assert.assertNotNull(profilesPage.entity(IMPORT_ASSET_PROFILE_NAME)); |
||||
|
Assert.assertTrue(profilesPage.entity(IMPORT_ASSET_PROFILE_NAME).isDisplayed()); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,174 @@ |
|||||
|
/** |
||||
|
* Copyright © 2016-2022 The Thingsboard Authors |
||||
|
* |
||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
|
* you may not use this file except in compliance with the License. |
||||
|
* You may obtain a copy of the License at |
||||
|
* |
||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
* |
||||
|
* Unless required by applicable law or agreed to in writing, software |
||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
* See the License for the specific language governing permissions and |
||||
|
* limitations under the License. |
||||
|
*/ |
||||
|
package org.thingsboard.server.msa.ui.tests.assetProfileSmoke; |
||||
|
|
||||
|
import io.qameta.allure.Description; |
||||
|
import org.testng.Assert; |
||||
|
import org.testng.annotations.AfterMethod; |
||||
|
import org.testng.annotations.BeforeMethod; |
||||
|
import org.testng.annotations.Test; |
||||
|
import org.thingsboard.server.msa.ui.base.AbstractDriverBaseTest; |
||||
|
import org.thingsboard.server.msa.ui.pages.LoginPageHelper; |
||||
|
import org.thingsboard.server.msa.ui.pages.ProfilesPageHelper; |
||||
|
import org.thingsboard.server.msa.ui.pages.SideBarMenuViewHelper; |
||||
|
import org.thingsboard.server.msa.ui.utils.EntityPrototypes; |
||||
|
|
||||
|
import static org.thingsboard.server.msa.ui.utils.Const.EMPTY_ASSET_PROFILE_MESSAGE; |
||||
|
import static org.thingsboard.server.msa.ui.utils.Const.ENTITY_NAME; |
||||
|
import static org.thingsboard.server.msa.ui.utils.Const.SAME_NAME_WARNING_ASSET_PROFILE_MESSAGE; |
||||
|
|
||||
|
public class CreateAssetProfileTest extends AbstractDriverBaseTest { |
||||
|
|
||||
|
private SideBarMenuViewHelper sideBarMenuView; |
||||
|
private ProfilesPageHelper profilesPage; |
||||
|
private String name; |
||||
|
|
||||
|
@BeforeMethod |
||||
|
public void login() { |
||||
|
new LoginPageHelper(driver).authorizationTenant(); |
||||
|
sideBarMenuView = new SideBarMenuViewHelper(driver); |
||||
|
profilesPage = new ProfilesPageHelper(driver); |
||||
|
} |
||||
|
|
||||
|
@AfterMethod |
||||
|
public void delete() { |
||||
|
if (name != null) { |
||||
|
testRestClient.deleteAssetProfile(getAssetProfileByName(name).getId()); |
||||
|
name = null; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 10, groups = "smoke") |
||||
|
@Description |
||||
|
public void createAssetProfile() { |
||||
|
String name = ENTITY_NAME; |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.openCreateAssetProfileView(); |
||||
|
profilesPage.addAssetProfileViewEnterName(name); |
||||
|
profilesPage.addAssetProfileAddBtn().click(); |
||||
|
this.name = name; |
||||
|
profilesPage.refreshBtn().click(); |
||||
|
|
||||
|
Assert.assertNotNull(profilesPage.entity(name)); |
||||
|
Assert.assertTrue(profilesPage.entity(name).isDisplayed()); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 20, groups = "smoke") |
||||
|
@Description |
||||
|
public void createAssetProfileWithDetails() { |
||||
|
String name = ENTITY_NAME; |
||||
|
String ruleChain = "Root Rule Chain"; |
||||
|
String mobileDashboard = "Firmware"; |
||||
|
String queue = "Main"; |
||||
|
String description = "Description"; |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.openCreateAssetProfileView(); |
||||
|
profilesPage.addAssetProfileViewEnterName(name); |
||||
|
profilesPage.addAssetProfileViewChooseRuleChain(ruleChain); |
||||
|
profilesPage.addAssetProfileViewChooseMobileDashboard(mobileDashboard); |
||||
|
profilesPage.addAssetsProfileViewChooseQueue(queue); |
||||
|
profilesPage.addAssetProfileViewEnterDescription(description); |
||||
|
profilesPage.addAssetProfileAddBtn().click(); |
||||
|
this.name = name; |
||||
|
profilesPage.refreshBtn().click(); |
||||
|
profilesPage.entity(name).click(); |
||||
|
profilesPage.setName(); |
||||
|
profilesPage.setRuleChain(); |
||||
|
profilesPage.setMobileDashboard(); |
||||
|
profilesPage.setQueue(); |
||||
|
profilesPage.setDescription(); |
||||
|
|
||||
|
Assert.assertNotNull(profilesPage.entity(name)); |
||||
|
Assert.assertTrue(profilesPage.entity(name).isDisplayed()); |
||||
|
Assert.assertEquals(name, profilesPage.getName()); |
||||
|
Assert.assertEquals(ruleChain, profilesPage.getRuleChain()); |
||||
|
Assert.assertEquals(mobileDashboard, profilesPage.getMobileDashboard()); |
||||
|
Assert.assertEquals(queue, profilesPage.getQueue()); |
||||
|
Assert.assertEquals(description, profilesPage.getDescription()); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 20, groups = "smoke") |
||||
|
@Description |
||||
|
public void createAssetProfileWithSameName() { |
||||
|
String name = ENTITY_NAME; |
||||
|
testRestClient.postAssetProfile(EntityPrototypes.defaultAssetProfile(name)); |
||||
|
this.name = name; |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.openCreateAssetProfileView(); |
||||
|
profilesPage.addAssetProfileViewEnterName(name); |
||||
|
profilesPage.addAssetProfileAddBtn().click(); |
||||
|
|
||||
|
Assert.assertNotNull(profilesPage.warningMessage()); |
||||
|
Assert.assertTrue(profilesPage.warningMessage().isDisplayed()); |
||||
|
Assert.assertEquals(profilesPage.warningMessage().getText(), SAME_NAME_WARNING_ASSET_PROFILE_MESSAGE); |
||||
|
Assert.assertNotNull(profilesPage.addAssetProfileView()); |
||||
|
Assert.assertTrue(profilesPage.addAssetProfileView().isDisplayed()); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 20, groups = "smoke") |
||||
|
@Description |
||||
|
public void createAssetProfileWithoutName() { |
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.openCreateAssetProfileView(); |
||||
|
|
||||
|
Assert.assertFalse(profilesPage.addBtnV().isEnabled()); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 20, groups = "smoke") |
||||
|
@Description |
||||
|
public void createAssetProfileWithOnlySpaceInName() { |
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.openCreateAssetProfileView(); |
||||
|
profilesPage.addAssetProfileViewEnterName(" "); |
||||
|
profilesPage.addAssetProfileAddBtn().click(); |
||||
|
|
||||
|
Assert.assertNotNull(profilesPage.warningMessage()); |
||||
|
Assert.assertTrue(profilesPage.warningMessage().isDisplayed()); |
||||
|
Assert.assertEquals(profilesPage.warningMessage().getText(), EMPTY_ASSET_PROFILE_MESSAGE); |
||||
|
Assert.assertNotNull(profilesPage.addAssetProfileView()); |
||||
|
Assert.assertTrue(profilesPage.addAssetProfileView().isDisplayed()); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 30, groups = "smoke") |
||||
|
@Description |
||||
|
public void createAssetProfileWithoutRefresh() { |
||||
|
String name = ENTITY_NAME; |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.openCreateAssetProfileView(); |
||||
|
profilesPage.addAssetProfileViewEnterName(name); |
||||
|
profilesPage.addAssetProfileAddBtn().click(); |
||||
|
this.name = name; |
||||
|
|
||||
|
Assert.assertNotNull(profilesPage.entity(name)); |
||||
|
Assert.assertTrue(profilesPage.entity(name).isDisplayed()); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 40, groups = "smoke") |
||||
|
@Description |
||||
|
public void documentation() { |
||||
|
String urlPath = "docs/user-guide/asset-profiles/"; |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.allEntity().get(0).click(); |
||||
|
profilesPage.goToProfileHelpPage(); |
||||
|
|
||||
|
Assert.assertTrue(urlContains(urlPath)); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,124 @@ |
|||||
|
/** |
||||
|
* Copyright © 2016-2022 The Thingsboard Authors |
||||
|
* |
||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
|
* you may not use this file except in compliance with the License. |
||||
|
* You may obtain a copy of the License at |
||||
|
* |
||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
* |
||||
|
* Unless required by applicable law or agreed to in writing, software |
||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
* See the License for the specific language governing permissions and |
||||
|
* limitations under the License. |
||||
|
*/ |
||||
|
package org.thingsboard.server.msa.ui.tests.assetProfileSmoke; |
||||
|
|
||||
|
import io.qameta.allure.Description; |
||||
|
import org.testng.Assert; |
||||
|
import org.testng.annotations.BeforeMethod; |
||||
|
import org.testng.annotations.Test; |
||||
|
import org.thingsboard.server.msa.ui.base.AbstractDriverBaseTest; |
||||
|
import org.thingsboard.server.msa.ui.pages.LoginPageHelper; |
||||
|
import org.thingsboard.server.msa.ui.pages.ProfilesPageHelper; |
||||
|
import org.thingsboard.server.msa.ui.pages.SideBarMenuViewHelper; |
||||
|
import org.thingsboard.server.msa.ui.utils.EntityPrototypes; |
||||
|
|
||||
|
import static org.thingsboard.server.msa.ui.utils.Const.ENTITY_NAME; |
||||
|
|
||||
|
public class DeleteAssetProfileTest extends AbstractDriverBaseTest { |
||||
|
|
||||
|
private SideBarMenuViewHelper sideBarMenuView; |
||||
|
private ProfilesPageHelper profilesPage; |
||||
|
|
||||
|
@BeforeMethod |
||||
|
public void login() { |
||||
|
new LoginPageHelper(driver).authorizationTenant(); |
||||
|
sideBarMenuView = new SideBarMenuViewHelper(driver); |
||||
|
profilesPage = new ProfilesPageHelper(driver); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 10, groups = "smoke") |
||||
|
@Description |
||||
|
public void removeAssetProfile() { |
||||
|
String name = ENTITY_NAME; |
||||
|
testRestClient.postAssetProfile(EntityPrototypes.defaultAssetProfile(name)); |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.deleteBtn(name).click(); |
||||
|
profilesPage.warningPopUpYesBtn().click(); |
||||
|
profilesPage.refreshBtn(); |
||||
|
|
||||
|
Assert.assertTrue(profilesPage.entityIsNotPresent(name)); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 10, groups = "smoke") |
||||
|
@Description |
||||
|
public void removeAssetProfileFromView() { |
||||
|
String name = ENTITY_NAME; |
||||
|
testRestClient.postAssetProfile(EntityPrototypes.defaultAssetProfile(name)); |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.entity(name).click(); |
||||
|
profilesPage.assetProfileViewDeleteBtn().click(); |
||||
|
profilesPage.warningPopUpYesBtn().click(); |
||||
|
profilesPage.refreshBtn(); |
||||
|
|
||||
|
Assert.assertTrue(profilesPage.entityIsNotPresent(name)); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 10, groups = "smoke") |
||||
|
@Description |
||||
|
public void removeSelectedAssetProfile() { |
||||
|
String name = ENTITY_NAME; |
||||
|
testRestClient.postAssetProfile(EntityPrototypes.defaultAssetProfile(name)); |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.checkBox(name).click(); |
||||
|
profilesPage.deleteSelectedBtn().click(); |
||||
|
profilesPage.warningPopUpYesBtn().click(); |
||||
|
profilesPage.refreshBtn(); |
||||
|
|
||||
|
Assert.assertTrue(profilesPage.entityIsNotPresent(name)); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 20, groups = "smoke") |
||||
|
@Description |
||||
|
public void removeDefaultAssetProfile() { |
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
|
||||
|
Assert.assertFalse(profilesPage.deleteBtn("default").isEnabled()); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 20, groups = "smoke") |
||||
|
@Description |
||||
|
public void removeDefaultAssetProfileFromView() { |
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.entity("default").click(); |
||||
|
|
||||
|
Assert.assertTrue(profilesPage.deleteAssetProfileFromViewBtnIsNotDisplayed()); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 20, groups = "smoke") |
||||
|
@Description |
||||
|
public void removeSelectedDefaultAssetProfile() { |
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
|
||||
|
Assert.assertNotNull(profilesPage.presentCheckBox("default")); |
||||
|
Assert.assertFalse(profilesPage.presentCheckBox("default").isDisplayed()); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 30, groups = "smoke") |
||||
|
@Description |
||||
|
public void removeAssetProfileWithoutRefresh() { |
||||
|
String name = ENTITY_NAME; |
||||
|
testRestClient.postAssetProfile(EntityPrototypes.defaultAssetProfile(name)); |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.deleteBtn(name).click(); |
||||
|
profilesPage.warningPopUpYesBtn().click(); |
||||
|
|
||||
|
Assert.assertTrue(profilesPage.entityIsNotPresent(name)); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,103 @@ |
|||||
|
/** |
||||
|
* Copyright © 2016-2022 The Thingsboard Authors |
||||
|
* |
||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
|
* you may not use this file except in compliance with the License. |
||||
|
* You may obtain a copy of the License at |
||||
|
* |
||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
* |
||||
|
* Unless required by applicable law or agreed to in writing, software |
||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
* See the License for the specific language governing permissions and |
||||
|
* limitations under the License. |
||||
|
*/ |
||||
|
package org.thingsboard.server.msa.ui.tests.assetProfileSmoke; |
||||
|
|
||||
|
import io.qameta.allure.Description; |
||||
|
import org.testng.Assert; |
||||
|
import org.testng.annotations.BeforeMethod; |
||||
|
import org.testng.annotations.Test; |
||||
|
import org.thingsboard.server.msa.ui.base.AbstractDriverBaseTest; |
||||
|
import org.thingsboard.server.msa.ui.pages.LoginPageHelper; |
||||
|
import org.thingsboard.server.msa.ui.pages.ProfilesPageHelper; |
||||
|
import org.thingsboard.server.msa.ui.pages.SideBarMenuViewHelper; |
||||
|
import org.thingsboard.server.msa.ui.utils.EntityPrototypes; |
||||
|
|
||||
|
import static org.thingsboard.server.msa.ui.utils.Const.ENTITY_NAME; |
||||
|
|
||||
|
public class DeleteSeveralAssetProfilesTest extends AbstractDriverBaseTest { |
||||
|
private SideBarMenuViewHelper sideBarMenuView; |
||||
|
private ProfilesPageHelper profilesPage; |
||||
|
|
||||
|
@BeforeMethod |
||||
|
public void login() { |
||||
|
new LoginPageHelper(driver).authorizationTenant(); |
||||
|
sideBarMenuView = new SideBarMenuViewHelper(driver); |
||||
|
profilesPage = new ProfilesPageHelper(driver); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 10, groups = "smoke") |
||||
|
@Description |
||||
|
public void canDeleteSeveralAssetProfilesByTopBtn() { |
||||
|
String name1 = ENTITY_NAME + "1"; |
||||
|
String name2 = ENTITY_NAME + "2"; |
||||
|
testRestClient.postAssetProfile(EntityPrototypes.defaultAssetProfile(name1)); |
||||
|
testRestClient.postAssetProfile(EntityPrototypes.defaultAssetProfile(name2)); |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.clickOnCheckBoxes(2); |
||||
|
profilesPage.deleteSelectedBtn().click(); |
||||
|
profilesPage.warningPopUpYesBtn().click(); |
||||
|
profilesPage.refreshBtn().click(); |
||||
|
|
||||
|
Assert.assertTrue(profilesPage.profileIsNotPresent(name1)); |
||||
|
Assert.assertTrue(profilesPage.profileIsNotPresent(name2)); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 10, groups = "smoke") |
||||
|
@Description |
||||
|
public void selectAllDAssetProfiles() { |
||||
|
String name1 = ENTITY_NAME + "1"; |
||||
|
String name2 = ENTITY_NAME + "2"; |
||||
|
testRestClient.postAssetProfile(EntityPrototypes.defaultAssetProfile(name1)); |
||||
|
testRestClient.postAssetProfile(EntityPrototypes.defaultAssetProfile(name2)); |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.selectAllCheckBox().click(); |
||||
|
profilesPage.deleteSelectedBtn().click(); |
||||
|
profilesPage.warningPopUpYesBtn().click(); |
||||
|
profilesPage.refreshBtn().click(); |
||||
|
|
||||
|
Assert.assertTrue(profilesPage.profileIsNotPresent(name1)); |
||||
|
Assert.assertTrue(profilesPage.profileIsNotPresent(name2)); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 20, groups = "smoke") |
||||
|
@Description |
||||
|
public void removeDefaultAssetProfile() { |
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.selectAllCheckBox().click(); |
||||
|
|
||||
|
Assert.assertFalse(profilesPage.checkBoxIsDisplayed("default")); |
||||
|
Assert.assertFalse(profilesPage.deleteBtn("default").isEnabled()); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 30, groups = "smoke") |
||||
|
@Description |
||||
|
public void deleteSeveralAssetProfilesByTopBtnWithoutRefresh() { |
||||
|
String name1 = ENTITY_NAME + "1"; |
||||
|
String name2 = ENTITY_NAME + "2"; |
||||
|
testRestClient.postAssetProfile(EntityPrototypes.defaultAssetProfile(name1)); |
||||
|
testRestClient.postAssetProfile(EntityPrototypes.defaultAssetProfile(name2)); |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.clickOnCheckBoxes(2); |
||||
|
profilesPage.deleteSelectedBtn().click(); |
||||
|
profilesPage.warningPopUpYesBtn().click(); |
||||
|
|
||||
|
Assert.assertTrue(profilesPage.profileIsNotPresent(name1)); |
||||
|
Assert.assertTrue(profilesPage.profileIsNotPresent(name2)); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,78 @@ |
|||||
|
/** |
||||
|
* Copyright © 2016-2022 The Thingsboard Authors |
||||
|
* |
||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
|
* you may not use this file except in compliance with the License. |
||||
|
* You may obtain a copy of the License at |
||||
|
* |
||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
* |
||||
|
* Unless required by applicable law or agreed to in writing, software |
||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
* See the License for the specific language governing permissions and |
||||
|
* limitations under the License. |
||||
|
*/ |
||||
|
package org.thingsboard.server.msa.ui.tests.assetProfileSmoke; |
||||
|
|
||||
|
import io.qameta.allure.Description; |
||||
|
import org.testng.Assert; |
||||
|
import org.testng.annotations.AfterMethod; |
||||
|
import org.testng.annotations.BeforeMethod; |
||||
|
import org.testng.annotations.Test; |
||||
|
import org.thingsboard.server.msa.ui.base.AbstractDriverBaseTest; |
||||
|
import org.thingsboard.server.msa.ui.pages.LoginPageHelper; |
||||
|
import org.thingsboard.server.msa.ui.pages.ProfilesPageHelper; |
||||
|
import org.thingsboard.server.msa.ui.pages.SideBarMenuViewHelper; |
||||
|
import org.thingsboard.server.msa.ui.utils.EntityPrototypes; |
||||
|
|
||||
|
import static org.thingsboard.server.msa.ui.utils.Const.ENTITY_NAME; |
||||
|
|
||||
|
public class MakeAssetProfileDefaultTest extends AbstractDriverBaseTest { |
||||
|
private SideBarMenuViewHelper sideBarMenuView; |
||||
|
private ProfilesPageHelper profilesPage; |
||||
|
private String name; |
||||
|
|
||||
|
@BeforeMethod |
||||
|
public void login() { |
||||
|
new LoginPageHelper(driver).authorizationTenant(); |
||||
|
sideBarMenuView = new SideBarMenuViewHelper(driver); |
||||
|
profilesPage = new ProfilesPageHelper(driver); |
||||
|
} |
||||
|
|
||||
|
@AfterMethod |
||||
|
public void makeProfileDefault() { |
||||
|
testRestClient.setDefaultAssetProfile(getAssetProfileByName("default").getId()); |
||||
|
testRestClient.deleteAssetProfile(getAssetProfileByName(name).getId()); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 10, groups = "smoke") |
||||
|
@Description |
||||
|
public void makeDeviceProfileDefaultByRightCornerBtn() { |
||||
|
String name = ENTITY_NAME; |
||||
|
testRestClient.postAssetProfile(EntityPrototypes.defaultAssetProfile(name)); |
||||
|
this.name = name; |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.makeProfileDefaultBtn(name).click(); |
||||
|
profilesPage.warningPopUpYesBtn().click(); |
||||
|
|
||||
|
Assert.assertTrue(profilesPage.defaultCheckbox(name).isDisplayed()); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 10, groups = "smoke") |
||||
|
@Description |
||||
|
public void makeDeviceProfileDefaultFromView() { |
||||
|
String name = ENTITY_NAME; |
||||
|
testRestClient.postAssetProfile(EntityPrototypes.defaultAssetProfile(name)); |
||||
|
this.name = name; |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.entity(name).click(); |
||||
|
profilesPage.assetProfileViewMakeDefaultBtn().click(); |
||||
|
profilesPage.warningPopUpYesBtn().click(); |
||||
|
profilesPage.closeEntityViewBtn().click(); |
||||
|
|
||||
|
Assert.assertTrue(profilesPage.defaultCheckbox(name).isDisplayed()); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,62 @@ |
|||||
|
/** |
||||
|
* Copyright © 2016-2022 The Thingsboard Authors |
||||
|
* |
||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
|
* you may not use this file except in compliance with the License. |
||||
|
* You may obtain a copy of the License at |
||||
|
* |
||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
* |
||||
|
* Unless required by applicable law or agreed to in writing, software |
||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
* See the License for the specific language governing permissions and |
||||
|
* limitations under the License. |
||||
|
*/ |
||||
|
package org.thingsboard.server.msa.ui.tests.assetProfileSmoke; |
||||
|
|
||||
|
import io.qameta.allure.Description; |
||||
|
import org.testng.Assert; |
||||
|
import org.testng.annotations.AfterMethod; |
||||
|
import org.testng.annotations.BeforeMethod; |
||||
|
import org.testng.annotations.Test; |
||||
|
import org.thingsboard.server.msa.ui.base.AbstractDriverBaseTest; |
||||
|
import org.thingsboard.server.msa.ui.pages.LoginPageHelper; |
||||
|
import org.thingsboard.server.msa.ui.pages.ProfilesPageHelper; |
||||
|
import org.thingsboard.server.msa.ui.pages.SideBarMenuViewHelper; |
||||
|
import org.thingsboard.server.msa.ui.utils.DataProviderCredential; |
||||
|
import org.thingsboard.server.msa.ui.utils.EntityPrototypes; |
||||
|
|
||||
|
public class SearchAssetProfileTest extends AbstractDriverBaseTest { |
||||
|
|
||||
|
private SideBarMenuViewHelper sideBarMenuView; |
||||
|
private ProfilesPageHelper profilesPage; |
||||
|
private String name; |
||||
|
|
||||
|
@BeforeMethod |
||||
|
public void login() { |
||||
|
new LoginPageHelper(driver).authorizationTenant(); |
||||
|
sideBarMenuView = new SideBarMenuViewHelper(driver); |
||||
|
profilesPage = new ProfilesPageHelper(driver); |
||||
|
} |
||||
|
|
||||
|
@AfterMethod |
||||
|
public void delete() { |
||||
|
if (name != null) { |
||||
|
testRestClient.deleteAssetProfile(getAssetProfileByName(name).getId()); |
||||
|
name = null; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 10, groups = "smoke", dataProviderClass = DataProviderCredential.class, dataProvider = "assetProfileSearch") |
||||
|
@Description |
||||
|
public void searchFirstWord(String name, String namePath) { |
||||
|
testRestClient.postAssetProfile(EntityPrototypes.defaultAssetProfile(name)); |
||||
|
this.name = name; |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.searchEntity(namePath); |
||||
|
|
||||
|
profilesPage.allEntity().forEach(x -> Assert.assertTrue(x.getText().contains(namePath))); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,127 @@ |
|||||
|
/** |
||||
|
* Copyright © 2016-2022 The Thingsboard Authors |
||||
|
* |
||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
|
* you may not use this file except in compliance with the License. |
||||
|
* You may obtain a copy of the License at |
||||
|
* |
||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
* |
||||
|
* Unless required by applicable law or agreed to in writing, software |
||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
* See the License for the specific language governing permissions and |
||||
|
* limitations under the License. |
||||
|
*/ |
||||
|
package org.thingsboard.server.msa.ui.tests.assetProfileSmoke; |
||||
|
|
||||
|
import io.qameta.allure.Description; |
||||
|
import org.testng.Assert; |
||||
|
import org.testng.annotations.AfterMethod; |
||||
|
import org.testng.annotations.BeforeMethod; |
||||
|
import org.testng.annotations.Test; |
||||
|
import org.thingsboard.server.msa.ui.base.AbstractDriverBaseTest; |
||||
|
import org.thingsboard.server.msa.ui.pages.LoginPageHelper; |
||||
|
import org.thingsboard.server.msa.ui.pages.ProfilesPageHelper; |
||||
|
import org.thingsboard.server.msa.ui.pages.SideBarMenuViewHelper; |
||||
|
import org.thingsboard.server.msa.ui.utils.DataProviderCredential; |
||||
|
|
||||
|
import static org.thingsboard.server.msa.ui.utils.EntityPrototypes.defaultAssetProfile; |
||||
|
|
||||
|
public class SortByNameTest extends AbstractDriverBaseTest { |
||||
|
private SideBarMenuViewHelper sideBarMenuView; |
||||
|
private ProfilesPageHelper profilesPage; |
||||
|
private String name; |
||||
|
|
||||
|
@BeforeMethod |
||||
|
public void login() { |
||||
|
new LoginPageHelper(driver).authorizationTenant(); |
||||
|
sideBarMenuView = new SideBarMenuViewHelper(driver); |
||||
|
profilesPage = new ProfilesPageHelper(driver); |
||||
|
} |
||||
|
|
||||
|
@AfterMethod |
||||
|
public void delete() { |
||||
|
if (name != null) { |
||||
|
testRestClient.deleteAssetProfile(getAssetProfileByName(name).getId()); |
||||
|
name = null; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 10, groups = "smoke", dataProviderClass = DataProviderCredential.class, dataProvider = "nameForSort") |
||||
|
@Description |
||||
|
public void specialCharacterUp(String name) { |
||||
|
testRestClient.postAssetProfile(defaultAssetProfile(name)); |
||||
|
this.name = name; |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.sortByNameBtn().click(); |
||||
|
profilesPage.setProfileName(); |
||||
|
|
||||
|
Assert.assertEquals(profilesPage.getProfileName(), name); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 20, groups = "smoke", dataProviderClass = DataProviderCredential.class, dataProvider = "nameForAllSort") |
||||
|
@Description |
||||
|
public void allSortUp(String assetProfile, String assetProfileSymbol, String assetProfileNumber) { |
||||
|
testRestClient.postAssetProfile(defaultAssetProfile(assetProfileSymbol)); |
||||
|
testRestClient.postAssetProfile(defaultAssetProfile(assetProfile)); |
||||
|
testRestClient.postAssetProfile(defaultAssetProfile(assetProfileNumber)); |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.sortByNameBtn().click(); |
||||
|
profilesPage.setProfileName(0); |
||||
|
String firstAssetProfile = profilesPage.getProfileName(); |
||||
|
profilesPage.setProfileName(1); |
||||
|
String secondAssetProfile = profilesPage.getProfileName(); |
||||
|
profilesPage.setProfileName(2); |
||||
|
String thirdAssetProfile = profilesPage.getProfileName(); |
||||
|
|
||||
|
testRestClient.deleteAssetProfile(getAssetProfileByName(assetProfile).getId()); |
||||
|
testRestClient.deleteAssetProfile(getAssetProfileByName(assetProfileNumber).getId()); |
||||
|
testRestClient.deleteAssetProfile(getAssetProfileByName(assetProfileSymbol).getId()); |
||||
|
|
||||
|
Assert.assertEquals(firstAssetProfile, assetProfileSymbol); |
||||
|
Assert.assertEquals(secondAssetProfile, assetProfileNumber); |
||||
|
Assert.assertEquals(thirdAssetProfile, assetProfile); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 10, groups = "smoke", dataProviderClass = DataProviderCredential.class, dataProvider = "nameForSort") |
||||
|
@Description |
||||
|
public void specialCharacterDown(String name) { |
||||
|
testRestClient.postAssetProfile(defaultAssetProfile(name)); |
||||
|
this.name = name; |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
profilesPage.sortByNameDown(); |
||||
|
profilesPage.setProfileName(profilesPage.allEntity().size() - 1); |
||||
|
|
||||
|
Assert.assertEquals(profilesPage.getProfileName(), name); |
||||
|
} |
||||
|
|
||||
|
@Test(priority = 20, groups = "smoke", dataProviderClass = DataProviderCredential.class, dataProvider = "nameForAllSort") |
||||
|
@Description |
||||
|
public void allSortDown(String assetProfile, String assetProfileSymbol, String assetProfileNumber) { |
||||
|
testRestClient.postAssetProfile(defaultAssetProfile(assetProfileSymbol)); |
||||
|
testRestClient.postAssetProfile(defaultAssetProfile(assetProfile)); |
||||
|
testRestClient.postAssetProfile(defaultAssetProfile(assetProfileNumber)); |
||||
|
|
||||
|
sideBarMenuView.openAssetProfiles(); |
||||
|
int lastIndex = profilesPage.allEntity().size() - 1; |
||||
|
profilesPage.sortByNameDown(); |
||||
|
profilesPage.setProfileName(lastIndex); |
||||
|
String firstAssetProfile = profilesPage.getProfileName(); |
||||
|
profilesPage.setProfileName(lastIndex - 1); |
||||
|
String secondAssetProfile = profilesPage.getProfileName(); |
||||
|
profilesPage.setProfileName(lastIndex - 2); |
||||
|
String thirdAssetProfile = profilesPage.getProfileName(); |
||||
|
|
||||
|
testRestClient.deleteAssetProfile(getAssetProfileByName(assetProfile).getId()); |
||||
|
testRestClient.deleteAssetProfile(getAssetProfileByName(assetProfileNumber).getId()); |
||||
|
testRestClient.deleteAssetProfile(getAssetProfileByName(assetProfileSymbol).getId()); |
||||
|
|
||||
|
Assert.assertEquals(firstAssetProfile, assetProfileSymbol); |
||||
|
Assert.assertEquals(secondAssetProfile, assetProfileNumber); |
||||
|
Assert.assertEquals(thirdAssetProfile, assetProfile); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,10 @@ |
|||||
|
{ |
||||
|
"name": "Asset Profile For Import", |
||||
|
"description": null, |
||||
|
"image": null, |
||||
|
"defaultRuleChainId": null, |
||||
|
"defaultDashboardId": null, |
||||
|
"defaultQueueName": null, |
||||
|
"externalId": null, |
||||
|
"default": false |
||||
|
} |
||||
Loading…
Reference in new issue