use of com.epam.ta.reportportal.entity.item.TestItemResults in project service-api by reportportal.
the class UpdateTestItemHandlerImplTest method shouldNotCreateInitialStatusAttribute.
@Test
void shouldNotCreateInitialStatusAttribute() {
ReportPortalUser user = getRpUser("user", UserRole.ADMINISTRATOR, ProjectRole.PROJECT_MANAGER, 1L);
UpdateTestItemRQ rq = new UpdateTestItemRQ();
rq.setStatus("PASSED");
long itemId = 1L;
TestItem item = new TestItem();
item.setItemId(itemId);
item.setHasChildren(false);
item.setType(TestItemTypeEnum.STEP);
item.setAttributes(Sets.newHashSet(new ItemAttribute(INITIAL_STATUS_ATTRIBUTE_KEY, "passed", true)));
TestItemResults itemResults = new TestItemResults();
itemResults.setStatus(StatusEnum.FAILED);
item.setItemResults(itemResults);
Launch launch = new Launch();
launch.setId(2L);
item.setLaunchId(launch.getId());
when(testItemService.getEffectiveLaunch(item)).thenReturn(launch);
when(itemRepository.findById(itemId)).thenReturn(Optional.of(item));
doNothing().when(messageBus).publishActivity(any());
when(statusChangingStrategyMapping.get(StatusEnum.PASSED)).thenReturn(statusChangingStrategy);
doNothing().when(statusChangingStrategy).changeStatus(item, StatusEnum.PASSED, user);
handler.updateTestItem(extractProjectDetails(user, "test_project"), itemId, rq, user);
assertTrue(item.getAttributes().stream().anyMatch(attribute -> INITIAL_STATUS_ATTRIBUTE_KEY.equalsIgnoreCase(attribute.getKey()) && StatusEnum.PASSED.getExecutionCounterField().equalsIgnoreCase("passed")));
}
use of com.epam.ta.reportportal.entity.item.TestItemResults in project service-api by reportportal.
the class UpdateTestItemHandlerImplTest method changeNotStepItemStatus.
@Test
void changeNotStepItemStatus() {
ReportPortalUser user = getRpUser("user", UserRole.ADMINISTRATOR, ProjectRole.PROJECT_MANAGER, 1L);
UpdateTestItemRQ rq = new UpdateTestItemRQ();
rq.setStatus("FAILED");
long itemId = 1L;
TestItem item = new TestItem();
item.setItemId(itemId);
item.setHasChildren(true);
item.setType(TestItemTypeEnum.TEST);
TestItemResults itemResults = new TestItemResults();
itemResults.setStatus(StatusEnum.PASSED);
item.setItemResults(itemResults);
Launch launch = new Launch();
launch.setId(2L);
item.setLaunchId(launch.getId());
when(testItemService.getEffectiveLaunch(item)).thenReturn(launch);
when(itemRepository.findById(itemId)).thenReturn(Optional.of(item));
ReportPortalException exception = assertThrows(ReportPortalException.class, () -> handler.updateTestItem(extractProjectDetails(user, "test_project"), itemId, rq, user));
assertEquals("Incorrect Request. Unable to change status on test item with children", exception.getMessage());
}
use of com.epam.ta.reportportal.entity.item.TestItemResults in project service-api by reportportal.
the class UpdateTestItemHandlerImplTest method updateItemPositive.
@Test
void updateItemPositive() {
ReportPortalUser user = getRpUser("user", UserRole.ADMINISTRATOR, ProjectRole.PROJECT_MANAGER, 1L);
UpdateTestItemRQ rq = new UpdateTestItemRQ();
rq.setDescription("new description");
long itemId = 1L;
TestItem item = new TestItem();
item.setItemId(itemId);
item.setDescription("old description");
item.setHasChildren(false);
item.setType(TestItemTypeEnum.STEP);
TestItemResults itemResults = new TestItemResults();
itemResults.setStatus(StatusEnum.FAILED);
item.setItemResults(itemResults);
Launch launch = new Launch();
launch.setId(2L);
item.setLaunchId(launch.getId());
when(testItemService.getEffectiveLaunch(item)).thenReturn(launch);
when(itemRepository.findById(itemId)).thenReturn(Optional.of(item));
OperationCompletionRS response = handler.updateTestItem(extractProjectDetails(user, "test_project"), itemId, rq, user);
assertEquals("TestItem with ID = '1' successfully updated.", response.getResultMessage());
assertEquals(rq.getDescription(), item.getDescription());
}
use of com.epam.ta.reportportal.entity.item.TestItemResults in project service-api by reportportal.
the class DeleteTestItemHandlerImplTest method getTestItem.
private TestItem getTestItem(StatusEnum itemStatus, StatusEnum launchStatus, Long projectId, String owner) {
TestItem item = new TestItem();
item.setItemId(1L);
TestItemResults results = new TestItemResults();
results.setStatus(itemStatus);
item.setItemResults(results);
Launch launch = new Launch();
launch.setId(1L);
launch.setStatus(launchStatus);
launch.setProjectId(projectId);
User user = new User();
user.setId(1L);
user.setLogin(owner);
launch.setUserId(user.getId());
item.setLaunchId(launch.getId());
return item;
}
use of com.epam.ta.reportportal.entity.item.TestItemResults in project service-api by reportportal.
the class FinishTestItemHandlerImplTest method finishTestItemUnderNotExistedLaunch.
@Test
void finishTestItemUnderNotExistedLaunch() {
final ReportPortalUser rpUser = getRpUser("test", UserRole.USER, ProjectRole.MEMBER, 1L);
TestItem item = new TestItem();
TestItemResults results = new TestItemResults();
results.setStatus(StatusEnum.IN_PROGRESS);
item.setItemResults(results);
item.setItemId(1L);
when(repository.findByUuid("1")).thenReturn(Optional.of(item));
final ReportPortalException exception = assertThrows(ReportPortalException.class, () -> handler.finishTestItem(rpUser, extractProjectDetails(rpUser, "test_project"), "1", new FinishTestItemRQ()));
assertEquals("Launch '' not found. Did you use correct Launch ID?", exception.getMessage());
}
Aggregations