| 123456789101112131415161718192021222324252627282930313233343536373839 |
- const { eq, ok, throwsAsync } = require('../../helpers/assert');
- const { makeNetwork, makePeer } = require('../../helpers/setup');
- describe('votes: create + cast + list', (t) => {
- t('A proposes a vote', async () => {
- const net = makeNetwork(); const A = makePeer(net); A.setActor();
- const r = await A.use('votes').createVote('Should we?', '2026-12-31', ['YES', 'NO'], ['gov']);
- ok(r);
- const list = await A.use('votes').listAll('all');
- ok(list.length >= 1);
- const vote = list.find(v => v.question === 'Should we?');
- ok(vote);
- });
- t('A casts vote on own proposal', async () => {
- const net = makeNetwork(); const A = makePeer(net); A.setActor();
- const r = await A.use('votes').createVote('Q?', '2026-12-31', ['YES', 'NO']);
- await A.use('votes').voteOnVote(r.key, 'YES');
- const v = await A.use('votes').getVoteById(r.key);
- ok(v.totalVotes >= 1);
- });
- t('A casts opinion on vote', async () => {
- const net = makeNetwork(); const A = makePeer(net); A.setActor();
- const r = await A.use('votes').createVote('Q?', '2026-12-31', ['YES', 'NO']);
- await A.use('votes').createOpinion(r.key, 'interesting');
- });
- t('B can vote on A proposal', async () => {
- const net = makeNetwork(); const A = makePeer(net); const B = makePeer(net);
- A.setActor();
- const r = await A.use('votes').createVote('Q?', '2026-12-31', ['YES', 'NO']);
- B.setActor();
- await B.use('votes').voteOnVote(r.key, 'NO');
- const v = await B.use('votes').getVoteById(r.key);
- ok(v.totalVotes >= 1);
- });
- });
|