diff --git a/Elevate_QA_API.xml b/Elevate_QA_API.xml index e7dad6c..995807d 100644 --- a/Elevate_QA_API.xml +++ b/Elevate_QA_API.xml @@ -52,6 +52,7 @@ + diff --git a/src/main/resources/config/Automation_ElevateAPI_QA.properties b/src/main/resources/config/Automation_ElevateAPI_QA.properties index ee481e0..2822d39 100644 --- a/src/main/resources/config/Automation_ElevateAPI_QA.properties +++ b/src/main/resources/config/Automation_ElevateAPI_QA.properties @@ -29,3 +29,4 @@ elevate.qa.fetchentity.list.endpoint=entity-management/v1/entities/list/ elevate.qa.mapping.entity.endpoint=entity-management/v1/entities/mappingUpload elevate.qa.update.entitytype.name=school elevate.qa.parent.entity.externalId=Automation_ExternalId123 +elevate.qa.targetedroles.endpoint=entity-management/v1/entities/targetedRoles \ No newline at end of file diff --git a/src/test/java/org/shikshalokam/backend/ep/TestElevateEntityCRUDOperations.java b/src/test/java/org/shikshalokam/backend/ep/TestElevateEntityCRUDOperations.java index 3aaa863..e2d0f4d 100644 --- a/src/test/java/org/shikshalokam/backend/ep/TestElevateEntityCRUDOperations.java +++ b/src/test/java/org/shikshalokam/backend/ep/TestElevateEntityCRUDOperations.java @@ -25,6 +25,8 @@ public class TestElevateEntityCRUDOperations extends ElevateProjectBaseTest { private String randomExternalId = RandomStringUtils.randomAlphabetic(10); private String updatedEntityName = RandomStringUtils.randomAlphabetic(10); private String updatedEntityExternalId = RandomStringUtils.randomAlphabetic(10); + private String userRolenametitle = RandomStringUtils.randomAlphabetic(10); + private String userRoleId = RandomStringUtils.randomAlphabetic(10); @BeforeMethod public void setUp() { @@ -128,6 +130,19 @@ public void fetchEntityListBasedOnEntityId() { logger.info("Validations related to fetching entity list based on entity Id is verified"); } + @Test(description = "Fetch targeted roles for updated entity") + public void testFetchTargetedRolesForEntity() { + createUserRoleExtension(userRolenametitle, userRoleId, PropertyLoader.PROP_LIST.getProperty("elevate.qa.automation.entitytype.name"), PropertyLoader.PROP_LIST.getProperty("elevate.qa.automation.entitytype.Id")); + getEntityId(PropertyLoader.PROP_LIST.getProperty("elevate.qa.parent.entity.externalId")); + Response response = fetchTargetedRoles(entity_Id); + Assert.assertEquals(response.getStatusCode(), 200, "roles not found"); + Assert.assertTrue(response.asString().contains(userRolenametitle)); + Assert.assertEquals(response.jsonPath().getString("message"), "ROLES_FETCHED_SUCCESSFULLY", "Roles fetching failed"); + List rolesData = response.jsonPath().getList("result.data"); + Assert.assertTrue(rolesData.size() > 0, "Expected non-empty roles data for the entity"); + logger.info("validation related to entity targeted roles is verified"); + } + // Method to add the entity private Response addEntity(String entityName, String externalId, String entityTypeName) { getEntitytype_Id(entityTypeName); @@ -235,4 +250,16 @@ private Response bulkUploadMappingCSV(String targetPath, String endpoint) { response.prettyPrint(); return response; } + + // Method to fetch targeted roles for a given entity ID + private Response fetchTargetedRoles(String entityId) { + Response response = given() + .header("internal-access-token", INTERNAL_ACCESS_TOKEN) + .header("x-auth-token", X_AUTH_TOKEN) + .header("Content-Type", "application/json") + .pathParam("entity_id", entityId) + .get(PropertyLoader.PROP_LIST.getProperty("elevate.qa.targetedroles.endpoint") + "{entity_id}"); + response.prettyPrint(); + return response; + } } \ No newline at end of file