Skip to content

Commit 4748e27

Browse files
authored
enhancement: added shimmer effect (#884)
* enhancement: added shimmer effect * added e2e tests * removed comments from style.css * Update tests.yml This will be removed eventually * Update tests.yml * added uniform design to the card * fixed small error
1 parent fa3eb23 commit 4748e27

File tree

3 files changed

+349
-56
lines changed

3 files changed

+349
-56
lines changed

__tests__/extension-requests/extension-requests.test.js

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -640,6 +640,106 @@ describe('Tests the Extension Requests Screen', () => {
640640
expect(cardCount === 3 || cardCount === 7).toBe(true);
641641
});
642642

643+
it('checks whether the shimmer effect is visible under dev flag only for the assignee image element', async () => {
644+
await page.goto(`${baseUrl}/?dev=true`);
645+
const assignImageSelector = await page.$$(
646+
'[data-testid="assignee-image skeleton"]',
647+
);
648+
expect(assignImageSelector).toBeTruthy();
649+
650+
await page.waitForTimeout(5000);
651+
const hasSkeletonClassAfter = await page.$eval('.assignee-image', (el) =>
652+
el.classList.contains('skeleton'),
653+
);
654+
expect(hasSkeletonClassAfter).toBe(false);
655+
});
656+
657+
it('checks whether the shimmer effect is visible under dev flag only for the assignee name element', async () => {
658+
await page.goto(`${baseUrl}/?dev=true`);
659+
const assignNameSelector = await page.$$(
660+
'[data-testid="assignee-name skeleton-text"]',
661+
);
662+
expect(assignNameSelector).toBeTruthy();
663+
await page.waitForTimeout(5000);
664+
const hasSkeletonClassAfter = await page.$eval('.assignee-name', (el) =>
665+
el.classList.contains('skeleton-text'),
666+
);
667+
expect(hasSkeletonClassAfter).toBe(false);
668+
});
669+
670+
it('checks whether the shimmer effect is working for deadlineValue element under feature flag', async () => {
671+
await page.goto(`${baseUrl}/?dev=true`);
672+
const deadlineValueSelector = await page.$$(
673+
'[data-testid="skeleton-span"]',
674+
);
675+
expect(deadlineValueSelector).toBeTruthy();
676+
await page.waitForTimeout(5000);
677+
const hasSkeletonClassAfter = await page.$eval('.tooltip-container', (el) =>
678+
el.classList.contains('skeleton-span'),
679+
);
680+
expect(hasSkeletonClassAfter).toBe(false);
681+
});
682+
683+
it('checks whether the shimmer effect is working for requestedValue element under feature flag', async () => {
684+
await page.goto(`${baseUrl}/?dev=true`);
685+
const requestedValueSelector = await page.$$(
686+
'[data-testid="skeleton-text"]',
687+
);
688+
expect(requestedValueSelector).toBeTruthy();
689+
await page.waitForTimeout(5000);
690+
const hasSkeletonClassAfter = await page.$eval('.requested-day', (el) =>
691+
el.classList.contains('skeleton-text'),
692+
);
693+
expect(hasSkeletonClassAfter).toBe(false);
694+
});
695+
it('checks whether the shimmer effect is working for newDeadlineValue element under feature flag', async () => {
696+
await page.goto(`${baseUrl}/?dev=true`);
697+
const newDeadlineValueSelector = await page.$$(
698+
'[data-testid="skeleton-span"]',
699+
);
700+
expect(newDeadlineValueSelector).toBeTruthy();
701+
await page.waitForTimeout(5000);
702+
const hasSkeletonClassAfter = await page.$eval('.requested-day', (el) =>
703+
el.classList.contains('skeleton-span'),
704+
);
705+
expect(hasSkeletonClassAfter).toBe(false);
706+
});
707+
708+
it('checks whether the shimmer effect is working for extensionRequestNumberValue element under feature flag', async () => {
709+
await page.goto(`${baseUrl}/?dev=true`);
710+
const extensionRequestNumberValueSelector = await page.$$(
711+
'[data-testid="skeleton-span"]',
712+
);
713+
expect(extensionRequestNumberValueSelector).toBeTruthy();
714+
await page.waitForTimeout(5000);
715+
const hasSkeletonClassAfter = await page.$eval(
716+
'.extension-request-number',
717+
(el) => el.classList.contains('skeleton-span'),
718+
);
719+
expect(hasSkeletonClassAfter).toBe(false);
720+
});
721+
722+
it('checks whether the shimmer effect is visible under dev flag only for the statusSiteLink element', async () => {
723+
await page.goto(`${baseUrl}/?dev=true`);
724+
const statusSiteLinkSelector = await page.$$(
725+
'[data-testid="external-link skeleton-link"]',
726+
);
727+
expect(statusSiteLinkSelector).toBeTruthy();
728+
await page.waitForTimeout(5000);
729+
const hasSkeletonClassAfter = await page.$eval('.external-link', (el) =>
730+
el.classList.contains('skeleton-link'),
731+
);
732+
expect(hasSkeletonClassAfter).toBe(false);
733+
});
734+
735+
it('checks whether the shimmer effect is visible under dev flag only for the taskStatusValue element', async () => {
736+
await page.goto(`${baseUrl}/?dev=true`);
737+
const taskStatusValueElement = await page.$$(
738+
'[data-testid="skeleton-span"]',
739+
);
740+
expect(taskStatusValueElement).toBeTruthy();
741+
});
742+
643743
it('Checks whether the card is not removed from display when api call is unsuccessful', async () => {
644744
const extensionCards = await page.$$('.extension-card');
645745

0 commit comments

Comments
 (0)