UNPKG

quasvel

Version:

Access and interact with Aragon Organizations and their apps.

100 lines (76 loc) 3.22 kB
import { VotingConnectorTheGraph, Vote, Cast } from '../../src' const VOTING_SUBGRAPH_URL = 'https://api.thegraph.com/subgraphs/name/aragon/aragon-voting-rinkeby-staging' const VOTING_APP_ADDRESS = '0x37187b0f2089b028482809308e776f92eeb7334e' describe('when connecting to a voting app', () => { let connector: VotingConnectorTheGraph beforeAll(() => { connector = new VotingConnectorTheGraph({ subgraphUrl: VOTING_SUBGRAPH_URL, }) }) afterAll(async () => { await connector.disconnect() }) describe('when querying for all the votes of a voting app', () => { let votes: Vote[] beforeAll(async () => { votes = await connector.votesForApp(VOTING_APP_ADDRESS, 1000, 0) }) test('returns a list of votes', () => { expect(votes.length).toBeGreaterThan(0) }) describe('when looking at a vote', () => { let vote: Vote beforeAll(() => { vote = votes[13] }) test('should not be executed', () => { expect(vote.executed).toBe(false) }) test('should have nays', () => { expect(vote.nay).toBe('18000000000000000000000') }) test('should have yeas', () => { expect(vote.yea).toBe('5400000000000000000000') }) test('has the expected script', () => { expect(vote.script).toEqual( '0x0000000138daca8c123145ead833c42590f4e359fd6bfa0c00000124d948d468000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000e0000000015616500b003475136ee6b0844896a2e1ccc68140000000c4d948d46800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000080000000018b8fc0e17c2900d669cc883e3b067e413536240200000064b0c8f9dc000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000076e65776e616d6500000000000000000000000000000000000000000000000000' ) }) test('should have a valid creator', () => { expect(vote.creator).toEqual( '0xadb56e6b6a10c8a1b7fe859b1284cfd74a7bcd1f' ) }) test('should have valid metadata', () => { expect(vote.metadata).toEqual(``) }) test('should have a valid minAcceptQuorum', () => { expect(vote.minAcceptQuorum).toEqual('10000000000000000') }) test('should have a valid supportRequiredPct', () => { expect(vote.supportRequiredPct).toEqual('250000000000000000') }) test('should have a valid votingPower', () => { expect(vote.votingPower).toEqual('29531000000000000000000') }) test('should have a valid snapshotBlock', () => { expect(vote.snapshotBlock).toEqual('7167970') }) test('should have a valid startDate', () => { expect(vote.startDate).toEqual('1599675534') }) describe('when querying for the casts of a vote', () => { let casts: Cast[] beforeAll(async () => { casts = await vote.casts() }) test('retrieves casts', () => { expect(casts.length).toBeGreaterThan(0) }) }) }) }) })