projects.test.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. const { eq, ok } = require('../../helpers/assert');
  2. const { makeNetwork, makePeer } = require('../../helpers/setup');
  3. describe('projects: create + list + follow + pledge', (t) => {
  4. t('A creates project', async () => {
  5. const net = makeNetwork(); const A = makePeer(net); A.setActor();
  6. const r = await A.use('projects').createProject({
  7. title: 'Mission', description: 'd', goal: '1000', deadline: '2026-12-31',
  8. tags: ['nonprofit'], status: 'ACTIVE'
  9. });
  10. ok(r);
  11. });
  12. t('B follows A project', async () => {
  13. const net = makeNetwork(); const A = makePeer(net); const B = makePeer(net);
  14. A.setActor();
  15. const r = await A.use('projects').createProject({
  16. title: 'P', description: '', goal: '100', deadline: '2026-12-31', tags: [], status: 'ACTIVE'
  17. });
  18. B.setActor();
  19. await B.use('projects').followProject(r.key, B.keypair.id);
  20. });
  21. t('B pledges to A project', async () => {
  22. const net = makeNetwork(); const A = makePeer(net); const B = makePeer(net);
  23. A.setActor();
  24. const r = await A.use('projects').createProject({
  25. title: 'P', description: '', goal: '100', deadline: '2026-12-31', tags: [], status: 'ACTIVE'
  26. });
  27. B.setActor();
  28. await B.use('projects').pledgeToProject(r.key, B.keypair.id, 10);
  29. });
  30. });