mirror of
https://github.com/logos-messaging/logos-delivery-js.git
synced 2026-05-24 00:09:39 +00:00
chore: update tests
This commit is contained in:
parent
7adb05431e
commit
1026e5e262
@ -20,7 +20,7 @@ describe("RLN Contract abstraction - RLN", () => {
|
|||||||
const mockRateLimits = {
|
const mockRateLimits = {
|
||||||
minRate: 20,
|
minRate: 20,
|
||||||
maxRate: 600,
|
maxRate: 600,
|
||||||
maxTotalRate: 1000,
|
maxTotalRate: 1200,
|
||||||
currentTotalRate: 500
|
currentTotalRate: 500
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -38,20 +38,27 @@ describe("RLN Contract abstraction - RLN", () => {
|
|||||||
Promise.resolve(ethers.BigNumber.from(mockRateLimits.maxTotalRate)),
|
Promise.resolve(ethers.BigNumber.from(mockRateLimits.maxTotalRate)),
|
||||||
currentTotalRateLimit: () =>
|
currentTotalRateLimit: () =>
|
||||||
Promise.resolve(ethers.BigNumber.from(mockRateLimits.currentTotalRate)),
|
Promise.resolve(ethers.BigNumber.from(mockRateLimits.currentTotalRate)),
|
||||||
queryFilter: () => [mockRLNRegisteredEvent()],
|
queryFilter: (filter: ethers.EventFilter | undefined) => {
|
||||||
|
if (filter && filter.address === undefined) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
return [mockRLNRegisteredEvent()];
|
||||||
|
},
|
||||||
provider: {
|
provider: {
|
||||||
getLogs: () => [],
|
getLogs: () => [],
|
||||||
getBlockNumber: () => Promise.resolve(1000),
|
getBlockNumber: () => Promise.resolve(1000),
|
||||||
getNetwork: () => Promise.resolve({ chainId: 11155111 })
|
getNetwork: () => Promise.resolve({ chainId: 11155111 })
|
||||||
},
|
},
|
||||||
filters: {
|
filters: {
|
||||||
MembershipRegistered: () => ({
|
MembershipRegistered: function () {
|
||||||
idCommitment: "0x123",
|
return {};
|
||||||
membershipRateLimit: ethers.BigNumber.from(100),
|
},
|
||||||
index: ethers.BigNumber.from(1)
|
MembershipErased: function () {
|
||||||
}),
|
return {};
|
||||||
MembershipErased: () => ({}),
|
},
|
||||||
MembershipExpired: () => ({})
|
MembershipExpired: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
},
|
},
|
||||||
on: () => ({})
|
on: () => ({})
|
||||||
};
|
};
|
||||||
@ -81,7 +88,14 @@ describe("RLN Contract abstraction - RLN", () => {
|
|||||||
|
|
||||||
const membershipRegisteredEvent = mockRLNRegisteredEvent();
|
const membershipRegisteredEvent = mockRLNRegisteredEvent();
|
||||||
|
|
||||||
const queryFilterStub = sinon.stub().returns([membershipRegisteredEvent]);
|
const queryFilterStub = sinon
|
||||||
|
.stub()
|
||||||
|
.callsFake((filter: ethers.EventFilter | undefined) => {
|
||||||
|
if (filter && filter.topics && filter.topics.length > 0) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
return [membershipRegisteredEvent];
|
||||||
|
});
|
||||||
const mockedRegistryContract = {
|
const mockedRegistryContract = {
|
||||||
queryFilter: queryFilterStub,
|
queryFilter: queryFilterStub,
|
||||||
provider: {
|
provider: {
|
||||||
@ -95,12 +109,15 @@ describe("RLN Contract abstraction - RLN", () => {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
filters: {
|
filters: {
|
||||||
MembershipRegistered: () => ({
|
MembershipRegistered: function () {
|
||||||
idCommitment: "0x123",
|
return {};
|
||||||
membershipRateLimit: 100,
|
},
|
||||||
index: ethers.BigNumber.from(1)
|
MembershipErased: function () {
|
||||||
}),
|
return {};
|
||||||
MembershipErased: () => ({})
|
},
|
||||||
|
MembershipExpired: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
},
|
},
|
||||||
on: () => ({}),
|
on: () => ({}),
|
||||||
removeAllListeners: () => ({})
|
removeAllListeners: () => ({})
|
||||||
@ -154,25 +171,43 @@ describe("RLN Contract abstraction - RLN", () => {
|
|||||||
formatIdCommitment(identity.IDCommitmentBigInt)
|
formatIdCommitment(identity.IDCommitmentBigInt)
|
||||||
);
|
);
|
||||||
|
|
||||||
const registerStub = sinon.stub().returns({
|
const registerStub = sinon
|
||||||
wait: () =>
|
.stub()
|
||||||
Promise.resolve({
|
.callsFake((idCommitment, rateLimit, idCommitmentsToErase, options) => {
|
||||||
events: [
|
console.log(
|
||||||
{
|
`Registering with ID commitment: ${idCommitment}, rate limit: ${rateLimit}`
|
||||||
event: "MembershipRegistered",
|
);
|
||||||
args: {
|
console.log(
|
||||||
idCommitment: formatIdCommitment(identity.IDCommitmentBigInt),
|
`ID commitments to erase: ${idCommitmentsToErase}, options: ${JSON.stringify(options)}`
|
||||||
rateLimit: DEFAULT_RATE_LIMIT,
|
);
|
||||||
index: ethers.BigNumber.from(1)
|
|
||||||
}
|
return {
|
||||||
}
|
wait: () =>
|
||||||
]
|
Promise.resolve({
|
||||||
})
|
events: [
|
||||||
});
|
{
|
||||||
|
event: "MembershipRegistered",
|
||||||
|
args: {
|
||||||
|
idCommitment: formatIdCommitment(
|
||||||
|
identity.IDCommitmentBigInt
|
||||||
|
),
|
||||||
|
rateLimit: DEFAULT_RATE_LIMIT,
|
||||||
|
index: ethers.BigNumber.from(1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
})
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
const mockedRegistryContract = {
|
const mockedRegistryContract = {
|
||||||
register: registerStub,
|
register: registerStub,
|
||||||
queryFilter: () => [membershipRegisteredEvent],
|
queryFilter: (filter: ethers.EventFilter | undefined) => {
|
||||||
|
if (filter && filter.address === undefined) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
return [membershipRegisteredEvent];
|
||||||
|
},
|
||||||
provider: {
|
provider: {
|
||||||
getLogs: () => [],
|
getLogs: () => [],
|
||||||
getBlockNumber: () => Promise.resolve(1000),
|
getBlockNumber: () => Promise.resolve(1000),
|
||||||
@ -186,16 +221,29 @@ describe("RLN Contract abstraction - RLN", () => {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
filters: {
|
filters: {
|
||||||
MembershipRegistered: () => ({
|
MembershipRegistered: function () {
|
||||||
idCommitment: "0x123",
|
return {};
|
||||||
membershipRateLimit: ethers.BigNumber.from(100),
|
},
|
||||||
index: ethers.BigNumber.from(1)
|
MembershipErased: function () {
|
||||||
}),
|
return {};
|
||||||
MembershipErased: () => ({}),
|
},
|
||||||
MembershipExpired: () => ({})
|
MembershipExpired: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
},
|
},
|
||||||
on: () => ({}),
|
on: () => ({}),
|
||||||
removeAllListeners: () => ({})
|
removeAllListeners: () => ({}),
|
||||||
|
minMembershipRateLimit: () =>
|
||||||
|
Promise.resolve(ethers.BigNumber.from(mockRateLimits.minRate)),
|
||||||
|
maxMembershipRateLimit: () =>
|
||||||
|
Promise.resolve(ethers.BigNumber.from(mockRateLimits.maxRate)),
|
||||||
|
maxTotalRateLimit: () =>
|
||||||
|
Promise.resolve(ethers.BigNumber.from(mockRateLimits.maxTotalRate)),
|
||||||
|
currentTotalRateLimit: () =>
|
||||||
|
Promise.resolve(ethers.BigNumber.from(mockRateLimits.currentTotalRate)),
|
||||||
|
estimateGas: {
|
||||||
|
register: () => Promise.resolve(ethers.BigNumber.from(200000))
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const provider = new ethers.providers.JsonRpcProvider();
|
const provider = new ethers.providers.JsonRpcProvider();
|
||||||
@ -220,15 +268,25 @@ describe("RLN Contract abstraction - RLN", () => {
|
|||||||
|
|
||||||
expect(
|
expect(
|
||||||
registerStub.calledWith(
|
registerStub.calledWith(
|
||||||
identity.IDCommitmentBigInt,
|
sinon.match.same(identity.IDCommitmentBigInt),
|
||||||
DEFAULT_RATE_LIMIT,
|
sinon.match.same(DEFAULT_RATE_LIMIT),
|
||||||
[],
|
sinon.match.array,
|
||||||
{
|
sinon.match.object
|
||||||
gasLimit: 300000
|
|
||||||
}
|
|
||||||
)
|
)
|
||||||
).to.be.true;
|
).to.be.true;
|
||||||
|
|
||||||
|
const processedEvent = {
|
||||||
|
event: "MembershipRegistered",
|
||||||
|
args: {
|
||||||
|
idCommitment: formatIdCommitment(identity.IDCommitmentBigInt),
|
||||||
|
membershipRateLimit: ethers.BigNumber.from(DEFAULT_RATE_LIMIT),
|
||||||
|
index: ethers.BigNumber.from(1)
|
||||||
|
},
|
||||||
|
blockNumber: 1000
|
||||||
|
} as unknown as ethers.Event;
|
||||||
|
|
||||||
|
rlnContract.processEvents(rlnInstance, [processedEvent]);
|
||||||
|
|
||||||
expect(decryptedCredentials).to.have.property("identity");
|
expect(decryptedCredentials).to.have.property("identity");
|
||||||
expect(decryptedCredentials).to.have.property("membership");
|
expect(decryptedCredentials).to.have.property("membership");
|
||||||
expect(decryptedCredentials.membership).to.include({
|
expect(decryptedCredentials.membership).to.include({
|
||||||
@ -240,8 +298,8 @@ describe("RLN Contract abstraction - RLN", () => {
|
|||||||
hexToBytes(formatIdCommitment(identity.IDCommitmentBigInt)),
|
hexToBytes(formatIdCommitment(identity.IDCommitmentBigInt)),
|
||||||
32
|
32
|
||||||
);
|
);
|
||||||
expect(insertMemberSpy.callCount).to.equal(2);
|
expect(insertMemberSpy.callCount).to.equal(1);
|
||||||
expect(insertMemberSpy.getCall(1).args[0]).to.deep.equal(
|
expect(insertMemberSpy.getCall(0).args[0]).to.deep.equal(
|
||||||
expectedIdCommitment
|
expectedIdCommitment
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user