Skip to content
Open
Show file tree
Hide file tree
Changes from 6 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
10 changes: 3 additions & 7 deletions e2e/tests/accounts.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import { utils, constants, Wallet } from "ethers";

import { CoreSDK } from "../../packages/core-sdk/src";
import { utils, constants } from "ethers";

import {
initCoreSDKWithFundedWallet,
Expand Down Expand Up @@ -225,11 +223,10 @@ describe("CoreSDK - accounts", () => {
});

test("add sellers", async () => {
const [sellers, { coreSDK, fundedWallet }] = await Promise.all([
const [seller, { coreSDK, fundedWallet }] = await Promise.all([
ensureCreatedSeller(sellerWallet),
initCoreSDKWithFundedWallet(protocolAdminWallet)
]);
const [seller] = sellers;
const disputeResolverAddress = fundedWallet.address.toLowerCase();

const { disputeResolver } = await createDisputeResolver(
Expand Down Expand Up @@ -265,11 +262,10 @@ describe("CoreSDK - accounts", () => {
});

test("remove sellers", async () => {
const [sellers, { coreSDK, fundedWallet }] = await Promise.all([
const [seller, { coreSDK, fundedWallet }] = await Promise.all([
ensureCreatedSeller(sellerWallet),
initCoreSDKWithFundedWallet(protocolAdminWallet)
]);
const [seller] = sellers;
const disputeResolverAddress = fundedWallet.address.toLowerCase();

const { disputeResolver: disputeResolverBeforeUpdate } =
Expand Down
67 changes: 19 additions & 48 deletions e2e/tests/core-sdk.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { DAY_IN_MS, DAY_IN_SEC } from "./../../packages/core-sdk/tests/mocks";
import { CreateSellerArgs } from "./../../packages/common/src/types/accounts";
import { CreateOfferArgs } from "./../../packages/common/src/types/offers";
import {
DisputeState,
ExchangeFieldsFragment
Expand All @@ -26,7 +25,8 @@ import {
seedWallet5,
seedWallet6,
initCoreSDKWithWallet,
drWallet
drWallet,
createOffer
} from "./utils";

const seedWallet = seedWallet4; // be sure the seedWallet is not used by another test (to allow concurrent run)
Expand Down Expand Up @@ -67,8 +67,10 @@ describe("core-sdk", () => {
const seller = await createSeller(coreSDK, fundedWallet.address);
expect(seller).toBeTruthy();

await checkDisputeResolver(coreSDK, seller.id, 1);

// Create an offer with validity duration instead of period
const createdOffer = await createOffer(coreSDK, seller.id, {
const createdOffer = await createOffer(coreSDK, {
voucherRedeemableUntilDateInMS: 0,
voucherValidDurationInMS: 30 * DAY_IN_MS
});
Expand All @@ -90,8 +92,7 @@ describe("core-sdk", () => {
const { coreSDK, fundedWallet } = await initCoreSDKWithFundedWallet(
seedWallet
);
const sellers = await ensureCreatedSeller(fundedWallet);
const [seller] = sellers;
const seller = await ensureCreatedSeller(fundedWallet);

const funds = await depositFunds({
coreSDK,
Expand All @@ -111,8 +112,7 @@ describe("core-sdk", () => {
const { coreSDK, fundedWallet } = await initCoreSDKWithFundedWallet(
seedWallet
);
const sellers = await ensureCreatedSeller(fundedWallet);
const [seller] = sellers;
const seller = await ensureCreatedSeller(fundedWallet);

await ensureMintedAndAllowedTokens([fundedWallet], sellerFundsDeposit);

Expand Down Expand Up @@ -310,8 +310,7 @@ describe("core-sdk", () => {
const { coreSDK, fundedWallet } = await initCoreSDKWithFundedWallet(
seedWallet
);
const sellers = await ensureCreatedSeller(fundedWallet);
const [seller] = sellers;
const seller = await ensureCreatedSeller(fundedWallet);

const funds = await depositFunds({
coreSDK,
Expand Down Expand Up @@ -339,8 +338,7 @@ describe("core-sdk", () => {
const { coreSDK, fundedWallet } = await initCoreSDKWithFundedWallet(
seedWallet
);
const sellers = await ensureCreatedSeller(fundedWallet);
const [seller] = sellers;
const seller = await ensureCreatedSeller(fundedWallet);

const ethFunds = await depositFunds({
coreSDK,
Expand Down Expand Up @@ -397,11 +395,10 @@ describe("core-sdk", () => {

beforeEach(async () => {
await waitForGraphNodeIndexing();
const sellers = await ensureCreatedSeller(sellerWallet);
const [seller] = sellers;
await ensureCreatedSeller(sellerWallet);

// before each case, create offer + commit + redeem
const createdOffer = await createOffer(sellerCoreSDK, seller.id);
const createdOffer = await createOffer(sellerCoreSDK);
await depositFunds({
coreSDK: sellerCoreSDK,
sellerId: createdOffer.seller.id
Expand Down Expand Up @@ -436,10 +433,9 @@ describe("core-sdk", () => {

test("expired dispute", async () => {
// create another offer with very small resolutionPeriod + commit + redeem
const sellers = await ensureCreatedSeller(sellerWallet);
const [seller] = sellers;
await ensureCreatedSeller(sellerWallet);

const createdOffer = await createOffer(sellerCoreSDK, seller.id, {
const createdOffer = await createOffer(sellerCoreSDK, {
resolutionPeriodDurationInMS: 1000
});
await depositFunds({
Expand Down Expand Up @@ -587,51 +583,26 @@ describe("core-sdk", () => {

const sellerId = seller.id;

const sellers2 = await coreSDK.getSellersByAddress(fundedWallet.address);
const [seller2] = sellers2;
const seller2 = await coreSDK.getSellerByAddress(fundedWallet.address);
expect(seller2).toBeTruthy();
expect(seller2.id).toEqual(sellerId);
});
});
});

async function createOffer(
async function checkDisputeResolver(
coreSDK: CoreSDK,
sellerId: string,
offerParams?: Partial<CreateOfferArgs>
sellerId: BigNumberish,
disputeResolverId: BigNumberish
) {
const metadataHash = await coreSDK.storeMetadata({
...metadata,
type: "BASE"
});
const metadataUri = "ipfs://" + metadataHash;

const offerArgs = mockCreateOfferArgs({
metadataHash,
metadataUri,
...offerParams
});

// Check the disputeResolver exists and is active
const disputeResolverId = offerArgs.disputeResolverId;

const dr = await coreSDK.getDisputeResolverById(disputeResolverId);
expect(dr).toBeTruthy();
expect(dr.active).toBe(true);
expect(
dr.sellerAllowList.length == 0 || dr.sellerAllowList.indexOf(sellerId) >= 0
dr.sellerAllowList.length == 0 ||
dr.sellerAllowList.indexOf(sellerId.toString()) >= 0
).toBe(true);

const createOfferTxResponse = await coreSDK.createOffer(offerArgs);
const createOfferTxReceipt = await createOfferTxResponse.wait();
const createdOfferId = coreSDK.getCreatedOfferIdFromLogs(
createOfferTxReceipt.logs
);

await waitForGraphNodeIndexing();
const offer = await coreSDK.getOfferById(createdOfferId as string);

return offer;
}

async function createSeller(
Expand Down
Loading