Skip to content

Commit

Permalink
fix: updated tests in erc20-governance token
Browse files Browse the repository at this point in the history
  • Loading branch information
jordaniza committed Mar 4, 2024
1 parent 376c767 commit f63cb46
Show file tree
Hide file tree
Showing 5 changed files with 58 additions and 38 deletions.
4 changes: 1 addition & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,7 @@
"**/@graphprotocol/graph-cli",
"**/@graphprotocol/graph-cli/**",
"**/matchstick-as",
"**/matchstick-as/**",
"**/@aragon/osx-commons-subgraph",
"**/@aragon/osx-commons-subgraph/**"
"**/matchstick-as/**"
]
}
}
2 changes: 2 additions & 0 deletions packages/subgraph/tests/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ export const ADDRESS_SEVEN = '0x0000000000000000000000000000000000000007';
export const DAO_ADDRESS = '0x00000000000000000000000000000000000000da';
export const CONTRACT_ADDRESS = '0x00000000000000000000000000000000000000Ad';
export const DAO_TOKEN_ADDRESS = '0x6B175474E89094C44Da98b954EedeAC495271d0F';
export const DEFAULT_MOCK_EVENT_ADDRESS =
'0xA16081F360e3847006dB660bae1c6d1b2e17eC2A';

export const ZERO = '0';
export const ONE = '1';
Expand Down
38 changes: 25 additions & 13 deletions packages/subgraph/tests/token/governance-erc20.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import {ExtendedTokenVotingMember} from '../helpers/extended-schema';
import {
createNewDelegateChangedEvent,
createNewERC20TransferEvent,
createNewERC20TransferEventWithAddress,
createTokenVotingMember,
getDelegatee,
getVotes
Expand Down Expand Up @@ -73,10 +74,11 @@ describe('Governance ERC20', () => {

describe('handleTransfer', () => {
test('it should create a new member of from', () => {
const mockEvent = createNewERC20TransferEvent(
const mockEvent = createNewERC20TransferEventWithAddress(
fromAddressHexString,
toAddressHexString,
ONE_ETH
ONE_ETH,
DAO_TOKEN_ADDRESS
);

getBalanceOf(DAO_TOKEN_ADDRESS, fromAddress.toHexString(), '0');
Expand All @@ -98,10 +100,11 @@ describe('Governance ERC20', () => {
});

test('it should create a new member of to', () => {
const mockEvent = createNewERC20TransferEvent(
const mockEvent = createNewERC20TransferEventWithAddress(
fromAddressHexString,
toAddressHexString,
ONE_ETH
ONE_ETH,
DAO_TOKEN_ADDRESS
);

getBalanceOf(DAO_TOKEN_ADDRESS, fromAddress.toHexString(), '0');
Expand Down Expand Up @@ -138,14 +141,15 @@ describe('Governance ERC20', () => {

test('it should update an existing from entity', () => {
const memberEntityId = createTokenVotingMember(
toAddressHexString,
fromAddressHexString,
pluginEntityId,
ONE_ETH + '0'
);
const mockEvent = createNewERC20TransferEvent(
const mockEvent = createNewERC20TransferEventWithAddress(
fromAddressHexString,
toAddressHexString,
ONE_ETH
ONE_ETH,
DAO_TOKEN_ADDRESS
);

getBalanceOf(DAO_TOKEN_ADDRESS, fromAddress.toHexString(), ONE_ETH + '0');
Expand Down Expand Up @@ -187,10 +191,11 @@ describe('Governance ERC20', () => {
pluginEntityId,
ONE_ETH + '0'
);
const mockEvent = createNewERC20TransferEvent(
const mockEvent = createNewERC20TransferEventWithAddress(
fromAddressHexString,
toAddressHexString,
ONE_ETH
ONE_ETH,
DAO_TOKEN_ADDRESS
);

getBalanceOf(DAO_TOKEN_ADDRESS, fromAddress.toHexString(), ONE_ETH + '0');
Expand Down Expand Up @@ -256,10 +261,11 @@ describe('Governance ERC20', () => {
);

// handle a transfer to another user
const transferEvent = createNewERC20TransferEvent(
const transferEvent = createNewERC20TransferEventWithAddress(
fromAddressHexString,
toAddressHexString,
TRANSFER
TRANSFER,
DAO_TOKEN_ADDRESS
);

assert.fieldEquals(
Expand Down Expand Up @@ -419,7 +425,10 @@ describe('Governance ERC20', () => {

// assert
// expected changes
member.delegatee = delegateeAddress.concat('_').concat(pluginAddress);
member.delegatee = generateMemberEntityId(
Address.fromString(pluginAddress),
Address.fromString(delegateeAddress)
);
member.assertEntity();
assert.entityCount('TokenVotingMember', 3);
});
Expand Down Expand Up @@ -448,7 +457,10 @@ describe('Governance ERC20', () => {

// assert
// expected changes
member.delegatee = delegateeAddress.concat('_').concat(pluginAddress);
member.delegatee = generateMemberEntityId(
Address.fromString(pluginAddress),
Address.fromString(delegateeAddress)
);
member.assertEntity();
// there must be the second member in the store for the delegatee
assert.entityCount('TokenVotingMember', 2);
Expand Down
21 changes: 17 additions & 4 deletions packages/subgraph/tests/token/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ import {
SNAPSHOT_BLOCK,
TOTAL_VOTING_POWER,
CREATED_AT,
ALLOW_FAILURE_MAP
ALLOW_FAILURE_MAP,
DEFAULT_MOCK_EVENT_ADDRESS
} from '../constants';
import {Transfer as ERC20TransferEvent} from '../../generated/templates/TokenVoting/ERC20';
import {
Expand Down Expand Up @@ -350,8 +351,21 @@ export function createNewERC20TransferEvent(
to: string,
amount: string
): ERC20TransferEvent {
let transferEvent = changetype<ERC20TransferEvent>(newMockEvent());
return createNewERC20TransferEventWithAddress(
from,
to,
amount,
DEFAULT_MOCK_EVENT_ADDRESS
);
}

export function createNewERC20TransferEventWithAddress(
from: string,
to: string,
amount: string,
contractAddress: string
): ERC20TransferEvent {
let transferEvent = changetype<ERC20TransferEvent>(newMockEvent());
let fromParam = new ethereum.EventParam(
'from',
ethereum.Value.fromAddress(Address.fromString(from))
Expand All @@ -364,11 +378,10 @@ export function createNewERC20TransferEvent(
'amount',
ethereum.Value.fromSignedBigInt(BigInt.fromString(amount))
);

transferEvent.address = Address.fromString(contractAddress);
transferEvent.parameters.push(fromParam);
transferEvent.parameters.push(toParam);
transferEvent.parameters.push(amountParam);

return transferEvent;
}

Expand Down
31 changes: 13 additions & 18 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3471,13 +3471,13 @@ css-what@^6.1.0:
resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4"
integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==

d@1, d@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a"
integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
d@1, d@^1.0.1, d@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/d/-/d-1.0.2.tgz#2aefd554b81981e7dccf72d6842ae725cb17e5de"
integrity sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==
dependencies:
es5-ext "^0.10.50"
type "^1.0.1"
es5-ext "^0.10.64"
type "^2.7.2"

dashdash@^1.12.0:
version "1.14.1"
Expand Down Expand Up @@ -3947,7 +3947,7 @@ es-to-primitive@^1.2.1:
is-date-object "^1.0.1"
is-symbol "^1.0.2"

es5-ext@^0.10.35, es5-ext@^0.10.50, es5-ext@^0.10.62, es5-ext@~0.10.14:
es5-ext@^0.10.35, es5-ext@^0.10.50, es5-ext@^0.10.62, es5-ext@^0.10.64, es5-ext@~0.10.14:
version "0.10.64"
resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.64.tgz#12e4ffb48f1ba2ea777f1fcdd1918ef73ea21714"
integrity sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==
Expand Down Expand Up @@ -3979,12 +3979,12 @@ es6-promisify@^5.0.0:
es6-promise "^4.0.3"

es6-symbol@^3.1.1, es6-symbol@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18"
integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==
version "3.1.4"
resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.4.tgz#f4e7d28013770b4208ecbf3e0bf14d3bcb557b8c"
integrity sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==
dependencies:
d "^1.0.1"
ext "^1.1.2"
d "^1.0.2"
ext "^1.7.0"

escalade@^3.1.1:
version "3.1.2"
Expand Down Expand Up @@ -4601,7 +4601,7 @@ express@^4.14.0:
utils-merge "1.0.1"
vary "~1.1.2"

ext@^1.1.2:
ext@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f"
integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==
Expand Down Expand Up @@ -9401,11 +9401,6 @@ type-is@~1.6.18:
media-typer "0.3.0"
mime-types "~2.1.24"

type@^1.0.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0"
integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==

type@^2.7.2:
version "2.7.2"
resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0"
Expand Down

0 comments on commit f63cb46

Please sign in to comment.