Skip to content

Commit

Permalink
Merge branch 'develop' into kacper/feat/oct-2263-community-onboarding…
Browse files Browse the repository at this point in the history
…-through-sablier
  • Loading branch information
aziolek committed Jan 20, 2025
2 parents 723c06d + f626c8d commit 85ce715
Show file tree
Hide file tree
Showing 33 changed files with 413 additions and 168 deletions.
14 changes: 7 additions & 7 deletions ci/argocd/contracts/master.env
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
BLOCK_NUMBER=7461476
BLOCK_NUMBER=7510799
GLM_CONTRACT_ADDRESS=0x71432DD1ae7DB41706ee6a22148446087BdD0906
AUTH_CONTRACT_ADDRESS=0xcb3ce71C4BCAC5A7A7291A45aee92cF98ce8b72a
DEPOSITS_CONTRACT_ADDRESS=0x3E192dC32B7d3338F93790D9d9DE92Ce2B3F44C2
EPOCHS_CONTRACT_ADDRESS=0x2365fB270cd2D9207157ff36BdE7AFa4936EBf0c
PROPOSALS_CONTRACT_ADDRESS=0x079a8319eAD69f371E13c569aD46BeB2032c815d
WITHDRAWALS_TARGET_CONTRACT_ADDRESS=0x457cc2B737B2709842B2FFebA4AD8c6A1375367D
VAULT_CONTRACT_ADDRESS=0xAD05952c5890E1085E4Bcf2BAf1794E2050c0897
AUTH_CONTRACT_ADDRESS=0x2260229B791Fc1749F0adc4061F3Af0868348Cf2
DEPOSITS_CONTRACT_ADDRESS=0xE2Cc32155f249a0B421F2220872E110d5382843E
EPOCHS_CONTRACT_ADDRESS=0xca32654C9d636879B3A1AB3641f7Dddf67F5480B
PROPOSALS_CONTRACT_ADDRESS=0x181Bc90CC3229bDd565D9ea0E615cCb6cF11448C
WITHDRAWALS_TARGET_CONTRACT_ADDRESS=0xAf1d9bbEce78ea62BF69Ac78baB7e9708694950C
VAULT_CONTRACT_ADDRESS=0x83b965EBcE901001f11e717808b302c1718b45B0
58 changes: 0 additions & 58 deletions client/cypress/e2e/_22uq.cy.ts

This file was deleted.

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ chai.use(chaiColors);

Object.values(viewports).forEach(({ device, viewportWidth, viewportHeight, isMobile }) => {
describe(
`[AW IS OPEN] Home rewards estimator: ${device}`,
`[AW IS CLOSED] Home rewards estimator: ${device}`,
{ viewportHeight, viewportWidth },
() => {
before(() => {
Expand Down
55 changes: 55 additions & 0 deletions client/cypress/e2e/group1/_13uq.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
// eslint-disable-next-line import/no-extraneous-dependencies
import chaiColors from 'chai-colors';

import { mockCoinPricesServer, visitWithLoader } from 'cypress/utils/e2e';
import viewports from 'cypress/utils/viewports';
import {
HAS_ONBOARDING_BEEN_CLOSED,
IS_ONBOARDING_ALWAYS_VISIBLE,
IS_ONBOARDING_DONE,
} from 'src/constants/localStorageKeys';
import { ROOT_ROUTES } from 'src/routes/RootRoutes/routes';

chai.use(chaiColors);

Object.values(viewports).forEach(({ device, viewportWidth, viewportHeight }) => {
describe(`[AW IS CLOSED] UQ: ${device}`, { viewportHeight, viewportWidth }, () => {
before(() => {
cy.clearLocalStorage();
});

beforeEach(() => {
mockCoinPricesServer();
localStorage.setItem(IS_ONBOARDING_ALWAYS_VISIBLE, 'false');
localStorage.setItem(IS_ONBOARDING_DONE, 'true');
localStorage.setItem(HAS_ONBOARDING_BEEN_CLOSED, 'true');
visitWithLoader(ROOT_ROUTES.home.absolute);
});

it(
'Each element of UQ tile is visible and has correct value',
{ scrollBehavior: false },
() => {
cy.get('[data-test=HomeGridUQScore]').scrollIntoView({ offset: { left: 0, top: -100 } });
cy.get('[data-test=HomeGridUQScore__Button--whatIsThis]').should('be.visible');
cy.get('[data-test=HomeGridUQScore__Button--whatIsThis]').click();
cy.wait(500);
cy.get('[data-test=ModalCalculatingYourUniqueness]').should('be.visible');
cy.get('[data-test=ModalCalculatingYourUniqueness__ProgressStepperSlim__element]').should(
'have.length',
3,
);
cy.get('[data-test=ModalCalculatingYourUniqueness__Button]').click();
cy.wait(500);
cy.get('[data-test=ModalCalculatingYourUniqueness]').should('not.exist');
cy.get('[data-test=HomeGridUQScoreAddresses]').should('be.visible');
cy.get('[data-test=HomeGridUQScore__Button--scoreTooLow]').should('be.visible');
cy.get('[data-test=HomeGridUQScore__Button--scoreTooLow]')
.invoke('attr', 'href')
.should('eq', 'https://passport.gitcoin.co/#/octant/');
cy.get('[data-test=HomeGridUQScore__Button--recalculate]').should('be.visible');
cy.get('[data-test=HomeGridUQScore__Button--delegate]').should('be.visible');
},
);
});
});
171 changes: 171 additions & 0 deletions client/cypress/e2e/group1/_14videoBar.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
// eslint-disable-next-line import/no-extraneous-dependencies
import chaiColors from 'chai-colors';

import { mockCoinPricesServer, visitWithLoader } from 'cypress/utils/e2e';
import viewports from 'cypress/utils/viewports';
import {
HAS_ONBOARDING_BEEN_CLOSED,
IS_ONBOARDING_ALWAYS_VISIBLE,
IS_ONBOARDING_DONE,
SHOW_HELP_VIDEOS,
} from 'src/constants/localStorageKeys';
import { ROOT_ROUTES } from 'src/routes/RootRoutes/routes';

chai.use(chaiColors);

Object.values(viewports).forEach(
({ device, viewportWidth, viewportHeight, isLargeDesktop, isDesktop, isTablet, isMobile }) => {
describe(`[AW IS CLOSED] Video bar: ${device}`, { viewportHeight, viewportWidth }, () => {
before(() => {
cy.clearLocalStorage();
});

beforeEach(() => {
cy.intercept(
'https://api.vimeo.com/users/*/albums/*/videos?*',

{
data: [
{
name: 'How to lock GLM in Octant',
player_embed_url: 'https://player.vimeo.com/video/1018544156?h=e362bf71a2',
},
{
name: 'How to allocate rewards in Octant',
player_embed_url: 'https://player.vimeo.com/video/1018544104?h=cbb2f84a38',
},
{
name: 'How to withdraw rewards in Octant',
player_embed_url: 'https://player.vimeo.com/video/1018544172?h=d9559d5809',
},
{
name: 'How to lock GLM in Octant',
player_embed_url: 'https://player.vimeo.com/video/1018544156?h=e362bf71a2',
},
{
name: 'How to allocate rewards in Octant',
player_embed_url: 'https://player.vimeo.com/video/1018544104?h=cbb2f84a38',
},
{
name: 'How to withdraw rewards in Octant',
player_embed_url: 'https://player.vimeo.com/video/1018544172?h=d9559d5809',
},
],
},
);
mockCoinPricesServer();
localStorage.setItem(IS_ONBOARDING_ALWAYS_VISIBLE, 'false');
localStorage.setItem(IS_ONBOARDING_DONE, 'true');
localStorage.setItem(HAS_ONBOARDING_BEEN_CLOSED, 'true');
visitWithLoader(ROOT_ROUTES.home.absolute);
});

it('User can close video bar', { scrollBehavior: false }, () => {
cy.get('[data-test=HomeGridVideoBar]').should('be.visible');
cy.get('[data-test=HomeGridVideoBar]').scrollIntoView({ offset: { left: 0, top: -100 } });

cy.get('[data-test=HomeGridVideoBar__Button]').click();
cy.get('[data-test=HomeGridVideoBar]').should('not.exist');

if (isLargeDesktop || isDesktop) {
cy.get('[data-test=LayoutTopBar__settingsButton]').click();
} else {
cy.get(`[data-test=LayoutNavbar__Button--settings]`).click();
}

cy.get('[data-test=SettingsShowHelpVideosBox__InputToggle]').scrollIntoView({
offset: { left: 0, top: -100 },
});
cy.get('[data-test=SettingsShowHelpVideosBox__InputToggle]').should('not.be.checked');
cy.getAllLocalStorage().then(() => {
expect(localStorage.getItem(SHOW_HELP_VIDEOS)).eq('false');
});
cy.get('[data-test=SettingsShowHelpVideosBox__InputToggle]').click();
});

if (!isMobile) {
it(
'User opens video by clicking on video tile (large-desktop, desktop, tablet ->) and close by clicking on overlay or close button ',
{ scrollBehavior: false },
() => {
cy.get('[data-test=HomeGridVideoBar]').scrollIntoView({
offset: { left: 0, top: -100 },
});
cy.get('[data-test=VideoTile]').should('exist');
cy.get('[data-test=VideoTile]').eq(0).click();
cy.wait(500);

cy.get('[data-test=VideoTile__videoBox]').should('be.visible');
cy.get('[data-test=VideoTile__videoBox__videoIframe]').should('be.visible');
cy.get('[data-test=VideoTile__videoBox__overlay]').should('exist');
cy.get('[data-test=VideoTile__videoBox__overlay]').click({ force: true });
cy.wait(500);
cy.get('[data-test=VideoTile__videoBox]').should('not.exist');
cy.get('[data-test=VideoTile]').eq(0).click();
cy.wait(500);
cy.get('[data-test=VideoTile__videoBox__closeButton]').should('be.visible');
cy.get('[data-testVideoTile__videoBox__closeButtonText]').should('not.exist');
cy.get('[data-test=VideoTile__videoBox__closeButton]').realHover();
cy.wait(500);
cy.get('[data-test=VideoTile__videoBox]').should('be.visible');
cy.get('[data-test=VideoTile__videoBox__videoIframe]').should('be.visible');
cy.get('[data-test=VideoTile__videoBox__closeButtonText]').should('be.visible');
cy.get('[data-test=VideoTile__videoBox__closeButton]').click();
cy.wait(500);
cy.get('[data-test=VideoTile__videoBox]').should('not.exist');
},
);
}

it('User can move video box by drag&drop ', { scrollBehavior: false }, () => {
cy.get('[data-test=HomeGridVideoBar]').scrollIntoView({ offset: { left: 0, top: -100 } });
cy.get('[data-test=VideoTile]').should('exist');

cy.get('[data-test=VideoTile]').eq(0).should('be.visible');
cy.get('[data-test=VideoTile]').then($videoTile => {
const { right: pageXStartRight, left: pageXStartLeft } =
$videoTile[0].getBoundingClientRect();
const difference = isMobile || isTablet ? 280 + 24 : 392 + 24;

const hidePageXEnd = pageXStartRight - difference;
const showPageXEnd = pageXStartLeft + difference;

cy.get('[data-test=VideoTile]')
.eq(0)
.trigger('pointerdown', { pageX: pageXStartRight })
.trigger('pointermove', {
pageX: hidePageXEnd,
});

cy.get('[data-test=VideoTile]').eq(0).should('not.be.visible');
cy.get('[data-test=VideoTile]').eq(1).should('be.visible');
cy.get('[data-test=VideoTile]')
.eq(1)
.trigger('pointerdown', { pageX: pageXStartLeft })
.trigger('pointermove', {
pageX: showPageXEnd,
});
cy.get('[data-test=VideoTile]').eq(0).should('be.visible');
});
});

it('User can move to next/prev video using the arrows ', { scrollBehavior: false }, () => {
const leftArrowDataTest = `HomeGridVideoBar__NavigationArrows${isMobile ? '--mobile' : '--nonMobile'}__leftArrow`;
const rightArrowDataTest = `HomeGridVideoBar__NavigationArrows${isMobile ? '--mobile' : '--nonMobile'}__rightArrow`;
cy.get('[data-test=HomeGridVideoBar]').scrollIntoView({ offset: { left: 0, top: -100 } });
cy.get('[data-test=VideoTile]').should('exist');
cy.get(`[data-test=${leftArrowDataTest}]`).should('be.visible');
cy.get(`[data-test=${leftArrowDataTest}]`).should('be.disabled');
cy.get(`[data-test=${rightArrowDataTest}]`).should('be.visible');
cy.get(`[data-test=${rightArrowDataTest}]`).should('not.be.disabled');
cy.get('[data-test=VideoTile]').eq(0).should('be.visible');
cy.get(`[data-test=${rightArrowDataTest}]`).click();
cy.get('[data-test=VideoTile]').eq(0).should('not.be.visible');
cy.get(`[data-test=${leftArrowDataTest}]`).should('not.be.disabled');
cy.get(`[data-test=${leftArrowDataTest}]`).click();
cy.get('[data-test=VideoTile]').eq(0).should('be.visible');
cy.get(`[data-test=${leftArrowDataTest}]`).should('be.disabled');
});
});
},
);
8 changes: 8 additions & 0 deletions client/cypress/e2e/group2/_01metamaskWorkaround.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// Cypress tests based on framer pass only in case when test tab is active (chrome doesn't block animations).
// On first test, active tab is MetaMask and on each next active tab is test tab - due to that we had to add this workaround.
// Only for `synpress run` command
describe('Workaround for first test (active tab is MetaMask instead of Cypress tab)', () => {
it('true', () => {
expect(true).to.be.true;
});
});
File renamed without changes.
Loading

0 comments on commit 85ce715

Please sign in to comment.