CLD-7841 Optimize E2E testing costs (#27883)

* Utilize free runners for E2E tests, report back to PR on run completion
* Increase test stability on smaller instances
* Merge worker reports
* merge start+prepare steps
* upgrade keycloak
* increase test timeouts
* Add video recording to report artifacts

Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>

---------

Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>
Этот коммит содержится в:
Mario Vitale
2024-08-14 21:39:08 +02:00
коммит произвёл GitHub
родитель 5f19d8513b
Коммит 948f8941f0
37 изменённых файлов: 261 добавлений и 151 удалений

Просмотреть файл

@@ -31,6 +31,8 @@ describe('MM-T4063 Custom status expiry', () => {
const waitingTime = 30; //minutes
let expiresAt = dayjs();
let expiresAtAcceptableValues = [''];
let expiresAtRegexp: RegExp;
const expiryTimeFormat = 'h:mm A';
it('MM-T4063_1 should open status dropdown', () => {
// # Click on the sidebar header to open status dropdown
@@ -77,7 +79,12 @@ describe('MM-T4063 Custom status expiry', () => {
cy.get('#custom_status_modal').should('not.exist');
// # Setting the time at which the custom status should be expired
// # Note that we need to be flexible around accepted values, as this calculation and the server-side one may differ slightly
expiresAt = dayjs().add(waitingTime, 'minute');
expiresAtAcceptableValues = [-1, 0, 1].map((el) =>
expiresAt.add(el, 'minute').format(expiryTimeFormat),
);
expiresAtRegexp = new RegExp(`(${expiresAtAcceptableValues.join('|')})`);
// * Status should be set and the emoji should be visible in the sidebar header
cy.uiGetProfileHeader().
@@ -97,7 +104,7 @@ describe('MM-T4063 Custom status expiry', () => {
cy.get('.status-dropdown-menu .custom_status__row span.emoticon').invoke('attr', 'data-emoticon').should('contain', customStatus.emoji);
// * Correct clear time should be displayed in the status dropdown
cy.get('.status-dropdown-menu .custom_status__expiry time').should('have.text', expiresAt.format(expiryTimeFormat));
cy.get('.status-dropdown-menu .custom_status__expiry time').invoke('text').should('match', expiresAtRegexp);
});
it('MM-T4063_6 custom status should be cleared after duration of set custom status', () => {
@@ -116,7 +123,7 @@ describe('MM-T4063 Custom status expiry', () => {
// * Should show expiry time of status when current status is selected
cy.get('#custom_status_modal .statusSuggestion__content').contains('span', customStatus.text).click();
cy.get('#custom_status_modal .expiry-value').should('have.text', expiresAt.format(expiryTimeFormat));
cy.get('#custom_status_modal .expiry-value').invoke('text').should('match', expiresAtRegexp);
// # Close custom status modal
cy.get('#custom_status_modal .modal-header .close').click();