From e308ad9d0a64bd8227cabbbc0e76b3351d403ab7 Mon Sep 17 00:00:00 2001 From: Felipe Knorr Kuhn Date: Fri, 16 Jul 2021 13:32:08 -0700 Subject: [PATCH] add tests for testnet --- .../integration/testnet/testnet.spec.ts | 99 +++++++++++++++++-- 1 file changed, 92 insertions(+), 7 deletions(-) diff --git a/frontend/cypress/integration/testnet/testnet.spec.ts b/frontend/cypress/integration/testnet/testnet.spec.ts index 7d1ec77e6..7f7340a08 100644 --- a/frontend/cypress/integration/testnet/testnet.spec.ts +++ b/frontend/cypress/integration/testnet/testnet.spec.ts @@ -1,9 +1,94 @@ describe('Testnet', () => { - it('loads the dashboard', () => { - cy.visit('/testnet'); - }); - - it.skip('loads all the pages properly', () => { - - }); + beforeEach(() => { + cy.intercept('/api/block-height/*').as('block-height'); + cy.intercept('/api/block/*').as('block'); + cy.intercept('/api/block/*/txs/0').as('block-txs'); + cy.intercept('/api/tx/*/outspends').as('tx-outspends'); + }); + + it('loads the dashboard', () => { + cy.visit('/testnet'); + cy.wait(1000); + }); + + it('loads the blocks screen', () => { + cy.visit('/testnet'); + cy.get('li:nth-of-type(2) > a').click().then(() => { + cy.wait(1000); + }); + }); + + it('loads the graphs screen', () => { + cy.visit('/testnet'); + cy.get('li:nth-of-type(3) > a').click().then(() => { + cy.wait(1000); + }); + }); + + describe('tv mode', () => { + it('loads the tv screen - desktop', () => { + cy.viewport('macbook-16'); + cy.visit('/testnet'); + cy.get('li:nth-of-type(4) > a').click().then(() => { + cy.wait(1000); + cy.get('.tv-only').should('not.be.visible'); + }); + }); + + it('loads the tv screen - mobile', () => { + cy.visit('/testnet'); + cy.get('li:nth-of-type(4) > a').click().then(() => { + cy.viewport('iphone-6'); + cy.wait(1000); + cy.get('.tv-only').should('be.visible'); + }); + }); + }); + + + it('loads the api screen', () => { + cy.visit('/testnet'); + cy.get('li:nth-of-type(5) > a').click().then(() => { + cy.wait(1000); + }); + }); + + describe('blocks', () => { + it('shows empty blocks properly', () => { + cy.visit('/testnet/block/0'); + cy.get('h2').invoke('text').should('equal', '1 transaction'); + }); + + it('expands and collapses the block details', () => { + cy.visit('/testnet/block/0'); + //TODO: fix this + //cy.wait('@tx-outspends'); + cy.get('.btn.btn-outline-info').click().then(() => { + cy.get('#details').should('be.visible'); + }); + + cy.get('.btn.btn-outline-info').click().then(() => { + cy.get('#details').should('not.be.visible'); + }); + }); + + it('shows blocks with no pagination', () => { + cy.visit('/testnet/block/000000000000002f8ce27716e74ecc7ad9f7b5101fed12d09e28bb721b9460ea'); + cy.get('h2').invoke('text').should('equal', '11 transactions'); + cy.get('ul.pagination').first().children().should('have.length', 5); + }); + + it('supports pagination on the block screen', () => { + // 48 txs + cy.visit('/testnet/block/000000000000002ca3878ebd98b313a1c2d531f2e70a6575d232ca7564dea7a9'); + cy.get('.header-bg.box > a').invoke('text').then((text1) => { + cy.get('.active + li').first().click().then(() => { + cy.get('.header-bg.box > a').invoke('text').then((text2) => { + expect(text1).not.to.eq(text2); + }); + }); + }); + }); + }); + });