Skip to content

Commit

Permalink
test: covering Batches API
Browse files Browse the repository at this point in the history
covering Batches API
  • Loading branch information
amelnytskyi committed Jan 26, 2024
1 parent eb0e8b6 commit af196bd
Show file tree
Hide file tree
Showing 4 changed files with 106 additions and 0 deletions.
3 changes: 3 additions & 0 deletions packages/integration-tests/tests/api/addresses.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -144,10 +144,13 @@ describe("Address", () => {
expect(response.body.items[0]).toEqual(expect.objectContaining({ address: contract }));
expect(Array.isArray(response.body.items[0].topics)).toStrictEqual(true);
expect(typeof response.body.items[0].data).toStrictEqual("string");
expect(typeof response.body.items[0].blockNumber).toStrictEqual("number");
expect(response.body.items[0].blockNumber).toBeGreaterThanOrEqual(1);
expect(response.body.items[0]).toEqual(expect.objectContaining({ transactionHash: txHash }));
expect(typeof response.body.items[0].transactionIndex).toStrictEqual("number");
expect(typeof response.body.items[0].logIndex).toStrictEqual("number");
expect(typeof response.body.items[0].timestamp).toStrictEqual("string");
expect(response.body.items[0].timestamp.length).toBe(24);
expect(response.body.meta).toEqual(expect.objectContaining({ totalItems: 1 }));
expect(response.body.meta).toEqual(expect.objectContaining({ itemCount: 1 }));
expect(response.body.meta).toEqual(expect.objectContaining({ itemsPerPage: 10 }));
Expand Down
18 changes: 18 additions & 0 deletions packages/integration-tests/tests/api/batches.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,26 @@ describe("Batches", () => {
apiRoute = `/batches`;
response = await helper.performGETrequest(apiRoute);

expect(response.status).toBe(200);
expect(Array.isArray(response.body.items)).toStrictEqual(true);
expect(response.body.items.length).toBeGreaterThanOrEqual(1);
expect(typeof response.body.items[0].number).toStrictEqual("number");
expect(response.body.items[0].number).toBeGreaterThanOrEqual(1);
expect(typeof response.body.items[0].timestamp).toStrictEqual("string");
expect(response.body.items[0].timestamp.length).toBe(24);
expect(typeof response.body.items[0].rootHash).toStrictEqual("string");
expect(response.body.items[0].rootHash.length).toBe(66);
expect(response.body.items[0].rootHash.startsWith("0x")).toBe(true);
expect(typeof response.body.items[0].executedAt).toStrictEqual("string");
expect(response.body.items[0].executedAt.length).toBe(24);
expect(typeof response.body.items[0].l1TxCount).toStrictEqual("number");
expect(response.body.items[0].l1TxCount).toBeGreaterThanOrEqual(0);
expect(typeof response.body.items[0].l2TxCount).toStrictEqual("number");
expect(response.body.items[0].l2TxCount).toBeGreaterThanOrEqual(0);
expect(typeof response.body.items[0].size).toStrictEqual("number");
expect(response.body.items[0].size).toBeGreaterThanOrEqual(0);
expect(typeof response.body.items[0].status).toStrictEqual("string");
expect(response.body.items[0].status.length).toBeGreaterThanOrEqual(6);
expect(typeof response.body.meta.totalItems).toStrictEqual("number");
expect(typeof response.body.meta.itemCount).toStrictEqual("number");
expect(typeof response.body.meta.itemsPerPage).toStrictEqual("number");
Expand Down
41 changes: 41 additions & 0 deletions packages/integration-tests/tests/api/transactions.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -759,6 +759,47 @@ describe("Transactions", () => {
expect(response.status).toBe(200);
expect(Array.isArray(response.body.items)).toStrictEqual(true);
expect(response.body.items.length).toBe(10);
expect(typeof response.body.items[0].hash).toStrictEqual("string");
expect(response.body.items[0].hash.length).toBe(66);
expect(typeof response.body.items[0].to).toStrictEqual("string");
expect(response.body.items[0].to.length).toBe(42);
expect(typeof response.body.items[0].from).toStrictEqual("string");
expect(response.body.items[0].from.length).toBe(42);
expect(typeof response.body.items[0].data).toStrictEqual("string");
expect(response.body.items[0].data.length).toBe(138);
expect(response.body.items[0]).toStrictEqual(expect.objectContaining({ value: "0" }));
expect(response.body.items[0]).toStrictEqual(expect.objectContaining({ isL1Originated: false }));
expect(typeof response.body.items[0].fee).toStrictEqual("string");
expect(response.body.items[0].fee.length).toBe(14);
expect(typeof response.body.items[0].nonce).toStrictEqual("number");
expect(response.body.items[0].nonce).toBeGreaterThanOrEqual(0);
expect(typeof response.body.items[0].gasLimit).toStrictEqual("string");
expect(typeof response.body.items[0].gasPrice).toStrictEqual("string");
expect(typeof response.body.items[0].gasPerPubdata).toStrictEqual("string");
expect(typeof response.body.items[0].maxFeePerGas).toStrictEqual("string");
expect(typeof response.body.items[0].maxPriorityFeePerGas).toStrictEqual("string");
expect(typeof response.body.items[0].blockNumber).toStrictEqual("number");
expect(response.body.items[0].blockNumber).toBeGreaterThanOrEqual(0);
expect(typeof response.body.items[0].l1BatchNumber).toStrictEqual("number");
expect(response.body.items[0].l1BatchNumber).toBeGreaterThanOrEqual(0);
expect(typeof response.body.items[0].blockHash).toStrictEqual("string");
expect(response.body.items[0].blockHash.length).toBe(66);
expect(typeof response.body.items[0].type).toStrictEqual("number");
expect(response.body.items[0].type).toBeGreaterThanOrEqual(0);
expect(response.body.items[0]).toStrictEqual(expect.objectContaining({ transactionIndex: 0 }));
expect(typeof response.body.items[0].receivedAt).toStrictEqual("string");
expect(response.body.items[0].receivedAt.length).toBe(24);
expect(response.body.items[0]).toStrictEqual(expect.objectContaining({ error: null }));
expect(typeof response.body.items[0].revertReason).toBe("string" || null);
//expect(response.body.items[0]).toStrictEqual(expect.objectContaining({ revertReason: null }));
expect(typeof response.body.items[0].status).toStrictEqual("string");
expect(typeof response.body.items[0].commitTxHash).toStrictEqual("string");
expect(response.body.items[0].commitTxHash.length).toBe(66);
expect(typeof response.body.items[0].executeTxHash).toStrictEqual("string");
expect(response.body.items[0].executeTxHash.length).toBe(66);
expect(typeof response.body.items[0].proveTxHash).toStrictEqual("string");
expect(response.body.items[0].proveTxHash.length).toBe(66);
expect(typeof response.body.items[0].isL1BatchSealed).toStrictEqual("boolean");
expect(typeof response.body.meta.totalItems).toStrictEqual("number");
expect(typeof response.body.meta.itemCount).toStrictEqual("number");
expect(typeof response.body.meta.itemsPerPage).toStrictEqual("number");
Expand Down
44 changes: 44 additions & 0 deletions packages/integration-tests/tests/ui/transactions.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import { expect, test } from "@playwright/test";

import { config } from "./config";
import { BlockExplorer, Buffer } from "../../src/entities";
import { Helper } from "../../src/helper";

import type { Locator } from "@playwright/test";

const bufferRoute = "src/playbook/";
const helper = new Helper();
let url: string;
let bufferFile;
let failedTxHash: string;
let contract: string;
let element: Locator;
let selector: string;

//@id1656
test("Verify failed tx", async ({ page }) => {
bufferFile = bufferRoute + Buffer.failedState;
failedTxHash = await helper.getStringFromFile(bufferFile);
url = BlockExplorer.baseUrl + `/tx/${failedTxHash}` + BlockExplorer.localNetwork;

await page.goto(url);

selector = `text=Failed`;
element = await page.locator(selector);

await expect(element).toBeVisible(config.extraTimeout);
});

//@id1655
test("Verify deployed the own ERC20 token contract", async ({ page }) => {
bufferFile = bufferRoute + Buffer.L2;
contract = await helper.getStringFromFile(bufferFile);
url = BlockExplorer.baseUrl + `/address/${contract}` + BlockExplorer.localNetwork;

await page.goto(url);

selector = `text=${contract}`;
element = await page.locator(selector).first();

await expect(element).toBeVisible(config.extraTimeout);
});

0 comments on commit af196bd

Please sign in to comment.