add new cases; add Epic, Feature, Description; add delete entity methods, refactoring
This commit is contained in:
		
							parent
							
								
									0483306c83
								
							
						
					
					
						commit
						957c5b74d7
					
				@ -30,7 +30,6 @@ import org.thingsboard.server.common.data.Customer;
 | 
			
		||||
import org.thingsboard.server.common.data.Device;
 | 
			
		||||
import org.thingsboard.server.common.data.DeviceProfile;
 | 
			
		||||
import org.thingsboard.server.common.data.EntityView;
 | 
			
		||||
import org.thingsboard.server.common.data.Tenant;
 | 
			
		||||
import org.thingsboard.server.common.data.User;
 | 
			
		||||
import org.thingsboard.server.common.data.alarm.Alarm;
 | 
			
		||||
import org.thingsboard.server.common.data.asset.Asset;
 | 
			
		||||
 | 
			
		||||
@ -39,6 +39,11 @@ import org.testng.annotations.BeforeMethod;
 | 
			
		||||
import org.thingsboard.server.common.data.Customer;
 | 
			
		||||
import org.thingsboard.server.common.data.DeviceProfile;
 | 
			
		||||
import org.thingsboard.server.common.data.asset.AssetProfile;
 | 
			
		||||
import org.thingsboard.server.common.data.id.AlarmId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.AssetId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.CustomerId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.DeviceId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.EntityViewId;
 | 
			
		||||
import org.thingsboard.server.common.data.page.PageLink;
 | 
			
		||||
import org.thingsboard.server.common.data.rule.RuleChain;
 | 
			
		||||
import org.thingsboard.server.msa.AbstractContainerTest;
 | 
			
		||||
@ -221,4 +226,40 @@ abstract public class AbstractDriverBaseTest extends AbstractContainerTest {
 | 
			
		||||
        getWebStorage().getLocalStorage().clear();
 | 
			
		||||
        getWebStorage().getSessionStorage().clear();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void deleteAlarmById(AlarmId alarmId) {
 | 
			
		||||
        if (alarmId != null) {
 | 
			
		||||
            testRestClient.deleteAlarm(alarmId);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void deleteAlarmsByIds(AlarmId... alarmIds) {
 | 
			
		||||
        for (AlarmId alarmId : alarmIds) {
 | 
			
		||||
            deleteAlarmById(alarmId);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void deleteCustomerById(CustomerId customerId) {
 | 
			
		||||
        if (customerId != null) {
 | 
			
		||||
            testRestClient.deleteCustomer(customerId);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void deleteDeviceById(DeviceId deviceId) {
 | 
			
		||||
        if (deviceId != null) {
 | 
			
		||||
            testRestClient.deleteDevice(deviceId);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void deleteAssetById(AssetId assetId) {
 | 
			
		||||
        if (assetId != null) {
 | 
			
		||||
            testRestClient.deleteAsset(assetId);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void deleteEntityView(EntityViewId entityViewId) {
 | 
			
		||||
        if (entityViewId != null) {
 | 
			
		||||
            testRestClient.deleteEntityView(entityViewId);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -31,7 +31,7 @@ public class AlarmDetailsEntityTabElements extends OtherPageElements {
 | 
			
		||||
    private static final String ASSIGN_USER_DISPLAY_NAME = "//span[@class='user-display-name'][contains(text(),'%s')]";
 | 
			
		||||
    private static final String SEARCH_FIELD = "//input[@placeholder='Search users']";
 | 
			
		||||
    private static final String UNASSIGNED_BTN = "//div[@role='listbox']//mat-icon[text() = 'account_circle']/following-sibling::span";
 | 
			
		||||
    private static final String UNASSIGNED = "//span[text() = '%s']/ancestor::mat-row//span[@class='assignee-cell']/mat-icon[text() = 'account_circle']/following-sibling::span";
 | 
			
		||||
    private static final String UNASSIGNED = "//span[text() = '%s']/ancestor::mat-row//span[@class='assignee-cell']//mat-icon[text() = 'account_circle']/following-sibling::span";
 | 
			
		||||
    private static final String ALARM_DETAILS_BTN = "//span[text() = '%s']/ancestor::mat-row//mat-icon[contains(text(),'more_horiz')]/parent::button";
 | 
			
		||||
    private static final String ACCESS_FORBIDDEN_DIALOG_VIEW = "//h2[text() = 'Access Forbidden']/parent::tb-confirm-dialog";
 | 
			
		||||
    private static final String ALARM_ASSIGNEE_DROPDOWN = "//tb-alarm-assignee-panel";
 | 
			
		||||
 | 
			
		||||
@ -15,6 +15,7 @@
 | 
			
		||||
 */
 | 
			
		||||
package org.thingsboard.server.msa.ui.tests.assignee;
 | 
			
		||||
 | 
			
		||||
import io.qameta.allure.Epic;
 | 
			
		||||
import org.testng.annotations.AfterClass;
 | 
			
		||||
import org.testng.annotations.AfterMethod;
 | 
			
		||||
import org.testng.annotations.BeforeClass;
 | 
			
		||||
@ -34,6 +35,7 @@ import org.thingsboard.server.msa.ui.utils.EntityPrototypes;
 | 
			
		||||
 | 
			
		||||
import static org.thingsboard.server.msa.ui.base.AbstractBasePage.random;
 | 
			
		||||
 | 
			
		||||
@Epic("Alarm assign")
 | 
			
		||||
abstract public class AbstractAssignTest extends AbstractDriverBaseTest {
 | 
			
		||||
 | 
			
		||||
    protected AlarmId alarmId;
 | 
			
		||||
@ -42,7 +44,6 @@ abstract public class AbstractAssignTest extends AbstractDriverBaseTest {
 | 
			
		||||
    protected UserId userId;
 | 
			
		||||
    protected UserId userWithNameId;
 | 
			
		||||
    protected CustomerId customerId;
 | 
			
		||||
 | 
			
		||||
    protected String deviceName;
 | 
			
		||||
    protected String userName;
 | 
			
		||||
    protected String customerTitle;
 | 
			
		||||
@ -50,7 +51,6 @@ abstract public class AbstractAssignTest extends AbstractDriverBaseTest {
 | 
			
		||||
    protected String userWithNameEmail;
 | 
			
		||||
    protected String alarmType;
 | 
			
		||||
    protected String assignedAlarmType;
 | 
			
		||||
 | 
			
		||||
    protected SideBarMenuViewHelper sideBarMenuView;
 | 
			
		||||
    protected AlarmDetailsEntityTabHelper alarmPage;
 | 
			
		||||
    protected DevicePageHelper devicePage;
 | 
			
		||||
@ -82,8 +82,8 @@ abstract public class AbstractAssignTest extends AbstractDriverBaseTest {
 | 
			
		||||
 | 
			
		||||
    @AfterClass
 | 
			
		||||
    public void deleteCommonEntities() {
 | 
			
		||||
        testRestClient.deleteCustomer(customerId);
 | 
			
		||||
        testRestClient.deleteDevice(deviceId);
 | 
			
		||||
        deleteCustomerById(customerId);
 | 
			
		||||
        deleteDeviceById(deviceId);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @BeforeMethod
 | 
			
		||||
@ -94,8 +94,7 @@ abstract public class AbstractAssignTest extends AbstractDriverBaseTest {
 | 
			
		||||
 | 
			
		||||
    @AfterMethod
 | 
			
		||||
    public void deleteCommonCreatedAlarms() {
 | 
			
		||||
        testRestClient.deleteAlarm(alarmId);
 | 
			
		||||
        testRestClient.deleteAlarm(assignedAlarmId);
 | 
			
		||||
        deleteAlarmsByIds(alarmId, assignedAlarmId);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void loginByUser(String userEmail) {
 | 
			
		||||
 | 
			
		||||
@ -15,6 +15,8 @@
 | 
			
		||||
 */
 | 
			
		||||
package org.thingsboard.server.msa.ui.tests.assignee;
 | 
			
		||||
 | 
			
		||||
import io.qameta.allure.Description;
 | 
			
		||||
import io.qameta.allure.Feature;
 | 
			
		||||
import org.testng.annotations.AfterClass;
 | 
			
		||||
import org.testng.annotations.AfterMethod;
 | 
			
		||||
import org.testng.annotations.BeforeClass;
 | 
			
		||||
@ -32,6 +34,7 @@ import org.thingsboard.server.msa.ui.utils.EntityPrototypes;
 | 
			
		||||
import static org.assertj.core.api.Assertions.assertThat;
 | 
			
		||||
import static org.thingsboard.server.msa.ui.base.AbstractBasePage.random;
 | 
			
		||||
 | 
			
		||||
@Feature("Assign from details tab of entity (by tenant)")
 | 
			
		||||
public class AssignDetailsTabAssignTest extends AbstractAssignTest {
 | 
			
		||||
 | 
			
		||||
    private AssetId assetId;
 | 
			
		||||
@ -41,7 +44,6 @@ public class AssignDetailsTabAssignTest extends AbstractAssignTest {
 | 
			
		||||
    private AlarmId assetAlarmId;
 | 
			
		||||
    private AlarmId entityViewAlarmId;
 | 
			
		||||
    private EntityViewId entityViewId;
 | 
			
		||||
 | 
			
		||||
    private String assetName;
 | 
			
		||||
    private String entityViewName;
 | 
			
		||||
    private String propagateAlarmType;
 | 
			
		||||
@ -49,7 +51,6 @@ public class AssignDetailsTabAssignTest extends AbstractAssignTest {
 | 
			
		||||
    private String customerAlarmType;
 | 
			
		||||
    private String assetAlarmType;
 | 
			
		||||
    private String entityViewAlarmType;
 | 
			
		||||
 | 
			
		||||
    private AssetPageHelper assetPage;
 | 
			
		||||
    private EntityViewPageHelper entityViewPage;
 | 
			
		||||
 | 
			
		||||
@ -81,17 +82,16 @@ public class AssignDetailsTabAssignTest extends AbstractAssignTest {
 | 
			
		||||
 | 
			
		||||
    @AfterClass
 | 
			
		||||
    public void deleteTestEntities() {
 | 
			
		||||
        testRestClient.deleteAlarm(customerAlarmId);
 | 
			
		||||
        testRestClient.deleteAlarm(assetAlarmId);
 | 
			
		||||
        testRestClient.deleteAlarm(entityViewAlarmId);
 | 
			
		||||
        testRestClient.deleteAsset(assetId);
 | 
			
		||||
        testRestClient.deleteEntityView(entityViewId);
 | 
			
		||||
        deleteAlarmById(customerAlarmId);
 | 
			
		||||
        deleteAlarmById(assetAlarmId);
 | 
			
		||||
        deleteAlarmById(entityViewAlarmId);
 | 
			
		||||
        deleteAssetById(assetId);
 | 
			
		||||
        deleteEntityView(entityViewId);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @AfterMethod
 | 
			
		||||
    public void deleteTestAlarms() {
 | 
			
		||||
        testRestClient.deleteAlarm(propageteAlarmId);
 | 
			
		||||
        testRestClient.deleteAlarm(propageteAssigneAlarmId);
 | 
			
		||||
        deleteAlarmsByIds(propageteAlarmId, propageteAssigneAlarmId);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @DataProvider
 | 
			
		||||
@ -108,6 +108,7 @@ public class AssignDetailsTabAssignTest extends AbstractAssignTest {
 | 
			
		||||
                {propagateAssignedAlarmType}};
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Can assign alarm to yourself/Can assign propagate alarm to yourself")
 | 
			
		||||
    @Test(dataProvider = "alarms")
 | 
			
		||||
    public void assignAlarmToYourself(String alarm) {
 | 
			
		||||
        sideBarMenuView.goToDevicesPage();
 | 
			
		||||
@ -117,6 +118,7 @@ public class AssignDetailsTabAssignTest extends AbstractAssignTest {
 | 
			
		||||
        assertIsDisplayed(alarmPage.assignedUser(Const.TENANT_EMAIL));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Can assign alarm to another user/Can assign propagate alarm to another user")
 | 
			
		||||
    @Test(dataProvider = "alarms")
 | 
			
		||||
    public void assignAlarmToAnotherUser(String alarm) {
 | 
			
		||||
        sideBarMenuView.goToDevicesPage();
 | 
			
		||||
@ -126,6 +128,7 @@ public class AssignDetailsTabAssignTest extends AbstractAssignTest {
 | 
			
		||||
        assertIsDisplayed(alarmPage.assignedUser(userEmail));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Can unassign alarm/Can unassign propagate alarm")
 | 
			
		||||
    @Test(dataProvider = "assignedAlarms")
 | 
			
		||||
    public void unassignedAlarm(String assignedAlarm) {
 | 
			
		||||
        sideBarMenuView.goToDevicesPage();
 | 
			
		||||
@ -135,6 +138,7 @@ public class AssignDetailsTabAssignTest extends AbstractAssignTest {
 | 
			
		||||
        assertIsDisplayed(alarmPage.unassigned(assignedAlarm));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Can reassign alarm to another user/Can reassign propagate alarm to another user")
 | 
			
		||||
    @Test(dataProvider = "assignedAlarms")
 | 
			
		||||
    public void reassignAlarm(String assignedAlarm) {
 | 
			
		||||
        sideBarMenuView.goToDevicesPage();
 | 
			
		||||
@ -144,6 +148,7 @@ public class AssignDetailsTabAssignTest extends AbstractAssignTest {
 | 
			
		||||
        assertIsDisplayed(alarmPage.assignedUser(Const.TENANT_EMAIL));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Search by email")
 | 
			
		||||
    @Test
 | 
			
		||||
    public void searchByEmail() {
 | 
			
		||||
        sideBarMenuView.goToDevicesPage();
 | 
			
		||||
@ -155,6 +160,7 @@ public class AssignDetailsTabAssignTest extends AbstractAssignTest {
 | 
			
		||||
        alarmPage.assignUsers().forEach(this::assertIsDisplayed);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Search by name")
 | 
			
		||||
    @Test(groups = "broken")
 | 
			
		||||
    public void searchByName() {
 | 
			
		||||
        sideBarMenuView.goToDevicesPage();
 | 
			
		||||
@ -166,6 +172,7 @@ public class AssignDetailsTabAssignTest extends AbstractAssignTest {
 | 
			
		||||
        alarmPage.assignUsers().forEach(this::assertIsDisplayed);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Assign alarm to yourself from details of alarm")
 | 
			
		||||
    @Test
 | 
			
		||||
    public void assignAlarmToYourselfFromDetails() {
 | 
			
		||||
        sideBarMenuView.goToDevicesPage();
 | 
			
		||||
@ -177,6 +184,7 @@ public class AssignDetailsTabAssignTest extends AbstractAssignTest {
 | 
			
		||||
        assertIsDisplayed(alarmPage.assignedUser(Const.TENANT_EMAIL));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Assign alarm to another user from details of alarm")
 | 
			
		||||
    @Test
 | 
			
		||||
    public void assignAlarmToAnotherUserFromDetails() {
 | 
			
		||||
        sideBarMenuView.goToDevicesPage();
 | 
			
		||||
@ -188,6 +196,7 @@ public class AssignDetailsTabAssignTest extends AbstractAssignTest {
 | 
			
		||||
        assertIsDisplayed(alarmPage.assignedUser(userEmail));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Unassign alarm from details of alarm")
 | 
			
		||||
    @Test
 | 
			
		||||
    public void unassignedAlarmFromDetails() {
 | 
			
		||||
        sideBarMenuView.goToDevicesPage();
 | 
			
		||||
@ -199,6 +208,7 @@ public class AssignDetailsTabAssignTest extends AbstractAssignTest {
 | 
			
		||||
        assertIsDisplayed(alarmPage.unassigned(assignedAlarmType));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Reassign alarm to another user from details of alarm")
 | 
			
		||||
    @Test
 | 
			
		||||
    public void reassignAlarmFromDetails() {
 | 
			
		||||
        sideBarMenuView.goToDevicesPage();
 | 
			
		||||
@ -210,6 +220,7 @@ public class AssignDetailsTabAssignTest extends AbstractAssignTest {
 | 
			
		||||
        assertIsDisplayed(alarmPage.assignedUser(Const.TENANT_EMAIL));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Assign alarm to yourself for Customer entity details")
 | 
			
		||||
    @Test
 | 
			
		||||
    public void assignCustomerAlarmToYourself() {
 | 
			
		||||
        sideBarMenuView.customerBtn().click();
 | 
			
		||||
@ -219,6 +230,7 @@ public class AssignDetailsTabAssignTest extends AbstractAssignTest {
 | 
			
		||||
        assertIsDisplayed(alarmPage.assignedUser(Const.TENANT_EMAIL));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Assign alarm to yourself for Asset details")
 | 
			
		||||
    @Test
 | 
			
		||||
    public void assignAssetAlarmToYourself() {
 | 
			
		||||
        sideBarMenuView.goToAssetsPage();
 | 
			
		||||
@ -228,6 +240,7 @@ public class AssignDetailsTabAssignTest extends AbstractAssignTest {
 | 
			
		||||
        assertIsDisplayed(alarmPage.assignedUser(Const.TENANT_EMAIL));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Assign alarm to yourself for Entity view details")
 | 
			
		||||
    @Test
 | 
			
		||||
    public void assignEntityViewsAlarmToYourself() {
 | 
			
		||||
        sideBarMenuView.goToEntityViewsPage();
 | 
			
		||||
 | 
			
		||||
@ -15,6 +15,8 @@
 | 
			
		||||
 */
 | 
			
		||||
package org.thingsboard.server.msa.ui.tests.assignee;
 | 
			
		||||
 | 
			
		||||
import io.qameta.allure.Description;
 | 
			
		||||
import io.qameta.allure.Feature;
 | 
			
		||||
import org.testng.annotations.AfterMethod;
 | 
			
		||||
import org.testng.annotations.BeforeMethod;
 | 
			
		||||
import org.testng.annotations.Test;
 | 
			
		||||
@ -26,13 +28,14 @@ import org.thingsboard.server.msa.ui.utils.EntityPrototypes;
 | 
			
		||||
 | 
			
		||||
import static org.thingsboard.server.msa.ui.base.AbstractBasePage.random;
 | 
			
		||||
 | 
			
		||||
@Feature("Assign from details tab of entity (by customer)")
 | 
			
		||||
public class AssignDetailsTabFromCustomerAssignTest extends AbstractAssignTest {
 | 
			
		||||
 | 
			
		||||
    private AlarmId tenantAlarmId;
 | 
			
		||||
    private DeviceId tenantDeviceId;
 | 
			
		||||
    private String tenantDeviceName;
 | 
			
		||||
 | 
			
		||||
    private String tenantAlarmType;
 | 
			
		||||
    private AlarmId assignedTenantAlarmId;
 | 
			
		||||
 | 
			
		||||
    @BeforeMethod
 | 
			
		||||
    public void generateTenantEntity() {
 | 
			
		||||
@ -48,11 +51,12 @@ public class AssignDetailsTabFromCustomerAssignTest extends AbstractAssignTest {
 | 
			
		||||
 | 
			
		||||
    @AfterMethod
 | 
			
		||||
    public void deleteTenantEntity() {
 | 
			
		||||
        testRestClient.deleteAlarm(tenantAlarmId);
 | 
			
		||||
        testRestClient.deleteDevice(tenantDeviceId);
 | 
			
		||||
        deleteAlarmsByIds(tenantAlarmId, assignedTenantAlarmId);
 | 
			
		||||
        deleteDeviceById(tenantDeviceId);
 | 
			
		||||
        clearStorage();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Can assign alarm to yourself")
 | 
			
		||||
    @Test
 | 
			
		||||
    public void assignAlarmToYourselfCustomer() {
 | 
			
		||||
        loginByUser(userEmail);
 | 
			
		||||
@ -63,6 +67,7 @@ public class AssignDetailsTabFromCustomerAssignTest extends AbstractAssignTest {
 | 
			
		||||
        assertIsDisplayed(alarmPage.assignedUser(userEmail));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Can reassign alarm from himself to another customer user")
 | 
			
		||||
    @Test
 | 
			
		||||
    public void reassignAlarmByCustomerFromAnotherCustomerUser() {
 | 
			
		||||
        loginByUser(userWithNameEmail);
 | 
			
		||||
@ -73,18 +78,9 @@ public class AssignDetailsTabFromCustomerAssignTest extends AbstractAssignTest {
 | 
			
		||||
        assertIsDisplayed(alarmPage.assignedUser(userName));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Can unassign alarm from himself")
 | 
			
		||||
    @Test
 | 
			
		||||
    public void unassignedAlarmFromCustomer() {
 | 
			
		||||
        loginByUser(userWithNameEmail);
 | 
			
		||||
        sideBarMenuView.goToDevicesPage();
 | 
			
		||||
        devicePage.openDeviceAlarms(deviceName);
 | 
			
		||||
        alarmPage.unassignedAlarm(assignedAlarmType);
 | 
			
		||||
 | 
			
		||||
        assertIsDisplayed(alarmPage.unassigned(assignedAlarmType));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void unassignedAlarmFromAnotherUserFromCustomer() {
 | 
			
		||||
        loginByUser(userEmail);
 | 
			
		||||
        sideBarMenuView.goToDevicesPage();
 | 
			
		||||
        devicePage.openDeviceAlarms(deviceName);
 | 
			
		||||
@ -93,6 +89,36 @@ public class AssignDetailsTabFromCustomerAssignTest extends AbstractAssignTest {
 | 
			
		||||
        assertIsDisplayed(alarmPage.unassigned(assignedAlarmType));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Unassign alarm from any other customer user")
 | 
			
		||||
    @Test
 | 
			
		||||
    public void unassignedAlarmFromAnotherUserFromCustomer() {
 | 
			
		||||
        loginByUser(userWithNameEmail);
 | 
			
		||||
        sideBarMenuView.goToDevicesPage();
 | 
			
		||||
        devicePage.openDeviceAlarms(deviceName);
 | 
			
		||||
        alarmPage.unassignedAlarm(assignedAlarmType);
 | 
			
		||||
 | 
			
		||||
        assertIsDisplayed(alarmPage.unassigned(assignedAlarmType));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Unassign alarm from any tenant user")
 | 
			
		||||
    @Test
 | 
			
		||||
    public void unassignedAlarmFromTenant() {
 | 
			
		||||
        String assignedTenantAlarmType = "Test tenant assigned alarm " + random();
 | 
			
		||||
        assignedTenantAlarmId = testRestClient.postAlarm(EntityPrototypes.defaultAlarm(deviceId, assignedTenantAlarmType)).getId();
 | 
			
		||||
 | 
			
		||||
        sideBarMenuView.goToDevicesPage();
 | 
			
		||||
        devicePage.openDeviceAlarms(deviceName);
 | 
			
		||||
        alarmPage.assignAlarmTo(assignedTenantAlarmType, Const.TENANT_EMAIL);
 | 
			
		||||
        devicePage.closeDeviceDetailsViewBtn().click();
 | 
			
		||||
        loginByUser(userWithNameEmail);
 | 
			
		||||
        sideBarMenuView.goToDevicesPage();
 | 
			
		||||
        devicePage.openDeviceAlarms(deviceName);
 | 
			
		||||
        alarmPage.unassignedAlarm(assignedTenantAlarmType);
 | 
			
		||||
 | 
			
		||||
        assertIsDisplayed(alarmPage.unassigned(assignedTenantAlarmType));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Check the display of names (emails)")
 | 
			
		||||
    @Test
 | 
			
		||||
    public void checkTheDisplayOfNamesEmailsFromCustomer() {
 | 
			
		||||
        sideBarMenuView.goToDevicesPage();
 | 
			
		||||
@ -108,6 +134,7 @@ public class AssignDetailsTabFromCustomerAssignTest extends AbstractAssignTest {
 | 
			
		||||
        assertIsDisplayed(alarmPage.assignedUser(Const.TENANT_EMAIL));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Check the reassign tenant for old alarm on device")
 | 
			
		||||
    @Test
 | 
			
		||||
    public void reassignTenantForOldAlarm() {
 | 
			
		||||
        sideBarMenuView.goToDevicesPage();
 | 
			
		||||
@ -121,6 +148,24 @@ public class AssignDetailsTabFromCustomerAssignTest extends AbstractAssignTest {
 | 
			
		||||
        devicePage.openDeviceAlarms(tenantDeviceName);
 | 
			
		||||
        jsClick(alarmPage.assignBtn(tenantAlarmType));
 | 
			
		||||
 | 
			
		||||
        assertIsDisplayed(alarmPage.accessForbiddenDialogView());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Description("Check the reassign tenant for old alarm on device")
 | 
			
		||||
    @Test
 | 
			
		||||
    public void reassignTenantForOldAlarmFromDetails() {
 | 
			
		||||
        sideBarMenuView.goToDevicesPage();
 | 
			
		||||
        devicePage.openDeviceAlarms(tenantDeviceName);
 | 
			
		||||
        alarmPage.assignAlarmTo(tenantAlarmType, Const.TENANT_EMAIL);
 | 
			
		||||
        devicePage.closeDeviceDetailsViewBtn().click();
 | 
			
		||||
        devicePage.assignToCustomerBtn(tenantDeviceName).click();
 | 
			
		||||
        devicePage.assignToCustomer(customerTitle);
 | 
			
		||||
        loginByUser(userEmail);
 | 
			
		||||
        sideBarMenuView.goToDevicesPage();
 | 
			
		||||
        devicePage.openDeviceAlarms(tenantDeviceName);
 | 
			
		||||
        alarmPage.alarmDetailsBtn(tenantAlarmType).click();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        assertIsDisplayed(alarmPage.accessForbiddenDialogView());
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -36,11 +36,8 @@ import org.thingsboard.server.common.data.device.profile.DisabledDeviceProfilePr
 | 
			
		||||
import org.thingsboard.server.common.data.id.CustomerId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.EntityId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.UserId;
 | 
			
		||||
import org.thingsboard.server.common.data.notification.targets.platform.CustomerUsersFilter;
 | 
			
		||||
import org.thingsboard.server.common.data.rule.RuleChain;
 | 
			
		||||
import org.thingsboard.server.common.data.security.Authority;
 | 
			
		||||
import org.thingsboard.server.common.data.security.UserCredentials;
 | 
			
		||||
import org.thingsboard.server.common.data.settings.UserSettings;
 | 
			
		||||
 | 
			
		||||
public class EntityPrototypes {
 | 
			
		||||
 | 
			
		||||
@ -179,14 +176,14 @@ public class EntityPrototypes {
 | 
			
		||||
        return user;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Device defaultDevicePrototype(String name){
 | 
			
		||||
    public static Device defaultDevicePrototype(String name) {
 | 
			
		||||
        Device device = new Device();
 | 
			
		||||
        device.setName(name + RandomStringUtils.randomAlphanumeric(7));
 | 
			
		||||
        device.setType("DEFAULT");
 | 
			
		||||
        return device;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Device defaultDevicePrototype(String name, CustomerId id){
 | 
			
		||||
    public static Device defaultDevicePrototype(String name, CustomerId id) {
 | 
			
		||||
        Device device = new Device();
 | 
			
		||||
        device.setName(name + RandomStringUtils.randomAlphanumeric(7));
 | 
			
		||||
        device.setCustomerId(id);
 | 
			
		||||
@ -194,7 +191,7 @@ public class EntityPrototypes {
 | 
			
		||||
        return device;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Asset defaultAssetPrototype(String name, CustomerId id){
 | 
			
		||||
    public static Asset defaultAssetPrototype(String name, CustomerId id) {
 | 
			
		||||
        Asset asset = new Asset();
 | 
			
		||||
        asset.setName(name + RandomStringUtils.randomAlphanumeric(7));
 | 
			
		||||
        asset.setCustomerId(id);
 | 
			
		||||
@ -202,7 +199,7 @@ public class EntityPrototypes {
 | 
			
		||||
        return asset;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static EntityView defaultEntityViewPrototype(String name, String type, String entityType){
 | 
			
		||||
    public static EntityView defaultEntityViewPrototype(String name, String type, String entityType) {
 | 
			
		||||
        EntityView entityView = new EntityView();
 | 
			
		||||
        entityView.setName(name + RandomStringUtils.randomAlphanumeric(7));
 | 
			
		||||
        entityView.setType(type + RandomStringUtils.randomAlphanumeric(7));
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
<?xml version="1.0" encoding="ISO-8859-1"?>
 | 
			
		||||
<!--
 | 
			
		||||
 | 
			
		||||
    Copyright © 2016-2023 The Thingsboard Authors
 | 
			
		||||
    Copyright © 2016-2023 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.
 | 
			
		||||
@ -28,9 +28,8 @@
 | 
			
		||||
                <exclude name="broken"/>
 | 
			
		||||
            </run>
 | 
			
		||||
        </groups>
 | 
			
		||||
        <classes>
 | 
			
		||||
            <class name="org.thingsboard.server.msa.ui.tests.assignee.AssignDetailsTabAssignTest"/>
 | 
			
		||||
            <class name="org.thingsboard.server.msa.ui.tests.assignee.AssignDetailsTabFromCustomerAssignTest"/>
 | 
			
		||||
        </classes>
 | 
			
		||||
        <packages>
 | 
			
		||||
            <package name="org.thingsboard.server.msa.ui.tests.assignee.*"/>
 | 
			
		||||
        </packages>
 | 
			
		||||
    </test>
 | 
			
		||||
</suite>
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user