Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,7 @@ yarn-error.log*
# typescript
*.tsbuildinfo
next-env.d.ts

# cypress
/cypress/screenshots/*
/cypress/videos/*
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// TODO: Get tx hash from MainNet
context("/tx/[tid] on macbook-16", () => {
const txHash =
"0x760e433e8d215309412d8ecd9927192ddf61d0f2546e532951c129ce5bc33c7b";
"0xbb93e0672425123aeb46f0e700c34d9699c21eb39645aa55879151c514a7bf5e";

beforeEach(() => {
cy.visit(`/tx/${txHash}`);
Expand All @@ -22,52 +23,55 @@ context("/tx/[tid] on macbook-16", () => {
it("should display transaction details", () => {
cy.findByTestId("tx-hash").should("have.text", txHash);
cy.findByTestId("transaction-timestamp").contains(
"(07-26-2023 09:31:33 AM +UTC)"
"(08-02-2023 05:56:29 AM +UTC)"
);
cy.findByTestId("transaction-block").should("have.text", "89946");
cy.findByTestId("transaction-block").should("have.text", "5009");
cy.findByTestId("transaction-block")
.should("have.attr", "href")
.and("include", `/block/89946`);
.and("include", `/block/5009`);
cy.findByTestId("transaction-confirmations").contains(" blocks");
cy.findByTestId("transaction-type").should("have.text", "Token minting");
cy.findByTestId("transaction-type").should("have.text", "Token transfer");
cy.findByTestId("transaction-status").should("have.text", "Success");
cy.findByTestId("transaction-amount").contains("0.00000000 DFI");
cy.findByTestId("transaction-fee").should("have.text", "0.00042306 DFI");
cy.findByTestId("transaction-amount").contains("10.00000000 DFI");
cy.findByTestId("transaction-fee").should("have.text", "0.00082347 DFI");
});

it("should display wallet details", () => {
// From address
cy.findByTestId("from-title").should("have.text", "From");
cy.findByTestId("transaction-details-from")
.should("have.attr", "href")
.and("include", "/address/0x36375828fd821935cFf3E8AB6322cAb54BBfaDeC");
.and("include", "/address/0xd65e74B211B7F762354D97e240ec469d7ea14121");
// Interacted with contract
cy.findByTestId("interacted-with-contract-(to)-title").should(
"have.text",
"Interacted with contract (To)"
);
cy.findByTestId("transaction-details-to")
.should("have.attr", "href")
.and("include", "/address/0xE815f2aD238B218E6becb93d846EA8FF90eDB39C");
// Tokens minted
cy.findByTestId("tokens-minted-title").should("have.text", "Tokens minted");
.and("include", "/address/0xcd0218FECc757d7bdbb5198c7c059f08f327F64e");
// Tokens transferred
cy.findByTestId("tokens-transferred-title").should(
"have.text",
"Tokens transferred"
);
cy.findByTestId("token-transfers").should("be.visible");
cy.findByTestId("token-transferred-from")
.should("have.attr", "href")
.and("include", "/address/0x0000000000000000000000000000000000000000");
.and("include", "/address/0xcd0218FECc757d7bdbb5198c7c059f08f327F64e");
cy.findByTestId("token-transferred-to")
.should("have.attr", "href")
.and("include", "/address/0x36375828fd821935cFf3E8AB6322cAb54BBfaDeC");
.and("include", "/address/0xd65e74B211B7F762354D97e240ec469d7ea14121");
// For token
cy.findByTestId("token-transferred-for").should("be.visible");
cy.findByTestId("for-token-container").contains("For: ");
cy.findByTestId("token-transferred-for").should(
"have.text",
"100,000.00000000"
"10,000.00000000"
);
cy.findAllByTestId("token-transferred-for-symbol")
.should("contain.text", "fDUSD")
.should("contain.text", "CAS")
.should("have.attr", "href")
.and("include", "/token/0xE815f2aD238B218E6becb93d846EA8FF90eDB39C");
.and("include", "/token/0xCEBd55D688f0f5C9DA311717a16e00e639b63dC2");
});
});
49 changes: 25 additions & 24 deletions cypress/e2e/pages/transaction/[tid].spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// TODO: Get tx hash from MainNet
context("/tx/[tid] on macbook-16", () => {
const txHash =
"0x45496f046c1c33569860bf3950db2d7edf9706b9ee16bc566a20d2febe90af7e";
"0x5cd0da0095a6ce53ed7c2c9e547b67ac92e0e4afeecfbb3d6f9e9cbb2603ba8a";

beforeEach(() => {
cy.visit(`/tx/${txHash}`);
Expand Down Expand Up @@ -28,12 +29,12 @@ context("/tx/[tid] on macbook-16", () => {

it("should display transaction timestamp", () => {
cy.findByTestId("transaction-timestamp").contains(
"(06-16-2023 04:57:05 AM +UTC)"
"(08-06-2023 10:05:10 PM +UTC)"
);
});

it("should display transaction block height and redirect to block page", () => {
const block = 12137;
const block = 12204;
cy.findByTestId("transaction-block-title").should("have.text", "Block");
cy.findByTestId("transaction-block")
.should("be.visible")
Expand Down Expand Up @@ -75,50 +76,50 @@ context("/tx/[tid] on macbook-16", () => {

it("should display transaction amount and fee", () => {
cy.findByTestId("transaction-amount-title").should("have.text", "Amount");
cy.findByTestId("transaction-amount").contains("0.30000000 DFI");
cy.findByTestId("transaction-amount").contains("100.00000000 DFI");
cy.findByTestId("transaction-fee-title").should(
"have.text",
"Transaction fee"
);
cy.findByTestId("transaction-fee").should("have.text", "0.00028350 DFI");
cy.findByTestId("transaction-fee").should("have.text", "0.00027300 DFI");
});

it("should display wallet details", () => {
// From address
cy.findByTestId("from-title").should("have.text", "From");
cy.findByTestId("transaction-details-from")
.should("have.attr", "href")
.and("include", "/address/0xC9CD1e2319C20E792f9f56f3464a44ce2ab5ED7F");
.and("include", "/address/0x85F20Bec30f5d12E0C5c8E426268f2F523B308D7");
cy.findByTestId("transaction-details-from-copied").should("not.exist");
cy.findByTestId("copy-transaction-details-from").trigger("click");
cy.findByTestId("transaction-details-from-copied").should("be.visible");
// To address
cy.findByTestId("to-title").should("have.text", "To");
cy.findByTestId("transaction-details-to")
.should("have.attr", "href")
.and("include", "/address/0x3494AD49D47fbD5E845f27317A1Ab67093D7324B");
.and("include", "/address/0x32dc7D78a638c7a121c5CBb360f4B9BC11e13494");
cy.findByTestId("transaction-details-to-copied").should("not.exist");
});

it("should display gas details", () => {
cy.findByTestId("gas-detail-title").should("have.text", "Gas detail");
cy.findByTestId("gas-price-title").should("have.text", "Gas price");
cy.findByTestId("gas-price").should("have.text", "13.5 Gwei");
cy.findByTestId("gas-price").should("have.text", "13 Gwei");
cy.findByTestId("gas-limit-title").should("have.text", "Gas limit");
cy.findByTestId("gas-limit").should("have.text", "21,000");
cy.findByTestId("gas-limit").should("have.text", "23,000");
cy.findByTestId("gas-used-by-txn-title").should(
"have.text",
"Gas used by txn"
);
cy.findByTestId("gas-used").should("have.text", "21,000");
cy.findByTestId("gas-used-percentage").should("have.text", "100.00%");
cy.findByTestId("gas-used-percentage").should("have.text", "91.30%");
cy.findByTestId("nonce-title").should("have.text", "Nonce");
cy.findByTestId("nonce").should("have.text", "2");
cy.findByTestId("nonce").should("have.text", "8,213");
cy.findByTestId("position-in-block-title").should(
"have.text",
"Position in block"
);
cy.findByTestId("position").should("have.text", "1");
cy.findByTestId("position").should("have.text", "9");
cy.findByTestId("desktop-tooltip-gas-price").should("be.visible");
cy.findByTestId("desktop-tooltip-gas-limit").should("be.visible");
cy.findByTestId("desktop-tooltip-gas-used-by-txn").should("be.visible");
Expand All @@ -143,7 +144,7 @@ context("/tx/[tid] on macbook-16", () => {

context("/tx/[tid] on iphone-x", () => {
const txHash =
"0x45496f046c1c33569860bf3950db2d7edf9706b9ee16bc566a20d2febe90af7e";
"0x5cd0da0095a6ce53ed7c2c9e547b67ac92e0e4afeecfbb3d6f9e9cbb2603ba8a";

beforeEach(() => {
cy.visit(`/tx/${txHash}`);
Expand Down Expand Up @@ -171,12 +172,12 @@ context("/tx/[tid] on iphone-x", () => {

it("should display transaction timestamp", () => {
cy.findByTestId("transaction-timestamp").contains(
"(06-16-2023 04:57:05 AM +UTC)"
"08-06-2023 10:05:10 PM +UTC)"
);
});

it("should display transaction block height and redirect to block page", () => {
const block = 12137;
const block = 12204;
cy.findByTestId("transaction-block-title").should("have.text", "Block");
cy.findByTestId("transaction-block")
.should("be.visible")
Expand Down Expand Up @@ -218,50 +219,50 @@ context("/tx/[tid] on iphone-x", () => {

it("should display transaction amount and fee", () => {
cy.findByTestId("transaction-amount-title").should("have.text", "Amount");
cy.findByTestId("transaction-amount").contains("0.30000000 DFI");
cy.findByTestId("transaction-amount").contains("100.00000000 DFI");
cy.findByTestId("transaction-fee-title").should(
"have.text",
"Transaction fee"
);
cy.findByTestId("transaction-fee").should("have.text", "0.00028350 DFI");
cy.findByTestId("transaction-fee").should("have.text", "0.00027300 DFI");
});

it("should display wallet details", () => {
// From address
cy.findByTestId("from-title").should("have.text", "From");
cy.findByTestId("transaction-details-from")
.should("have.attr", "href")
.and("include", "/address/0xC9CD1e2319C20E792f9f56f3464a44ce2ab5ED7F");
.and("include", "/address/0x85F20Bec30f5d12E0C5c8E426268f2F523B308D7");
cy.findByTestId("transaction-details-from-copied").should("not.exist");
cy.findByTestId("copy-transaction-details-from").trigger("click");
cy.findByTestId("transaction-details-from-copied").should("be.visible");
// To address
cy.findByTestId("to-title").should("have.text", "To");
cy.findByTestId("transaction-details-to")
.should("have.attr", "href")
.and("include", "/address/0x3494AD49D47fbD5E845f27317A1Ab67093D7324B");
.and("include", "/address/0x32dc7D78a638c7a121c5CBb360f4B9BC11e13494");
cy.findByTestId("transaction-details-to-copied").should("not.exist");
});

it("should display gas details", () => {
cy.findByTestId("gas-detail-title").should("have.text", "Gas detail");
cy.findByTestId("gas-price-title").should("have.text", "Gas price");
cy.findByTestId("gas-price").should("have.text", "13.5 Gwei");
cy.findByTestId("gas-price").should("have.text", "13 Gwei");
cy.findByTestId("gas-limit-title").should("have.text", "Gas limit");
cy.findByTestId("gas-limit").should("have.text", "21,000");
cy.findByTestId("gas-limit").should("have.text", "23,000");
cy.findByTestId("gas-used-by-txn-title").should(
"have.text",
"Gas used by txn"
);
cy.findByTestId("gas-used").should("have.text", "21,000");
cy.findByTestId("gas-used-percentage").should("have.text", "100.00%");
cy.findByTestId("gas-used-percentage").should("have.text", "91.30%");
cy.findByTestId("nonce-title").should("have.text", "Nonce");
cy.findByTestId("nonce").should("have.text", "2");
cy.findByTestId("nonce").should("have.text", "8,213");
cy.findByTestId("position-in-block-title").should(
"have.text",
"Position in block"
);
cy.findByTestId("position").should("have.text", "1");
cy.findByTestId("position").should("have.text", "9");
cy.findByTestId("mobile-tooltip-gas-price").should("be.visible");
cy.findByTestId("mobile-tooltip-gas-limit").should("be.visible");
cy.findByTestId("mobile-tooltip-gas-used-by-txn").should("be.visible");
Expand Down