-
Notifications
You must be signed in to change notification settings - Fork 251
.col-results.collapsed issue if results table order changed #806
Description
Discussed in #801
Originally posted by volkan-aslan March 7, 2024
Hello,
My pytest-html version is: 4.1.1
I am using below code in my conftest file to move results section to right-hand side.
def pytest_html_results_table_header(cells):
cells.append(cells.pop(0))
def pytest_html_results_table_row(report, cells):
cells.append(cells.pop(0))
But i noticed that, doing this breaking the following part of the report and it always shows "hide details" even its collapsed.
(This was not a case with version 3.2.0),
.col-result:hover::after {
content: " (hide details)";
}
.col-result.collapsed:hover::after {
content: " (show details)";
}
When I inspect the html report, I noticed that it's adding the 'collapsed' class to the first td of .collapsible.
This is OK if col-result is the first row, but in my case i moved it to the last so first row is col-testId, therefore it adds collapsed to col-testId.
if (collapsed) {
resultBody.querySelector('.collapsible > td')?.classList.add('collapsed')
resultBody.querySelector('.extras-row').classList.add('hidden')
} else {
resultBody.querySelector('.collapsible > td')?.classList.remove('collapsed')
}
If I change it to:
resultBody.querySelector('.collapsible > col-result')?.classList.add('collapsed')
then it works as expected.
I am not a java script person, so I don't know if this is the ideal fix but it would be nice to have a solution for such a case.
If there's anything I've done wrong, I'd appreciate it if you could help.
Thanks.
