Versie 0.2.0
This commit is contained in:
commit
e77d8fd373
495 files changed
+81026
No files matched your search
@@ -0,0 +1,70 @@
|
||||
// Generated, do not edit. sha256:e7c1f8e0ef8ff3927bf8ff8a92bc2028aac07446bbf50cb1b0842db32ca8e5f3
|
||||
import { describe, it, beforeEach, afterEach, mock } from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
import { mkdtemp, rm } from 'node:fs/promises';
|
||||
import { tmpdir } from 'node:os';
|
||||
import { join } from 'node:path';
|
||||
|
||||
let stand = { level: 'free', enforced: true, why: 'none' };
|
||||
const echt = await import('../../server/license.mjs');
|
||||
mock.module('../../server/license.mjs', {
|
||||
namedExports: {
|
||||
...echt,
|
||||
licenseState: () => stand,
|
||||
capacityReached: (soort, huidig) => echt.capacityReached(soort, huidig, stand),
|
||||
},
|
||||
});
|
||||
|
||||
const { listPortfolios } = await import('../../server/portfolios.mjs');
|
||||
const { createPortfolio, archivePortfolio } = await import('../../server/portfolios-admin.mjs');
|
||||
|
||||
let DIR;
|
||||
let vorige;
|
||||
|
||||
beforeEach(async () => {
|
||||
vorige = process.env.ASSETAPP_DATA_DIR;
|
||||
DIR = await mkdtemp(join(tmpdir(), 'assetapp-lic-'));
|
||||
process.env.ASSETAPP_DATA_DIR = DIR;
|
||||
stand = { level: 'free', enforced: true, why: 'none' };
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
if (vorige === undefined) delete process.env.ASSETAPP_DATA_DIR;
|
||||
else process.env.ASSETAPP_DATA_DIR = vorige;
|
||||
await rm(DIR, { recursive: true, force: true });
|
||||
});
|
||||
|
||||
describe('de gratis stand op portefeuilles', () => {
|
||||
it('laat de EERSTE portefeuille gewoon aanmaken', async () => {
|
||||
await createPortfolio('Eerste');
|
||||
assert.equal(listPortfolios().length, 1);
|
||||
});
|
||||
|
||||
it('weigert de TWEEDE, met een vertaalbare sleutel', async () => {
|
||||
await createPortfolio('Eerste');
|
||||
await assert.rejects(() => createPortfolio('Tweede'), (fout) => {
|
||||
assert.equal(fout.key, 'portfolios.maxFree');
|
||||
assert.equal(fout.params.max, 1);
|
||||
return true;
|
||||
});
|
||||
assert.deepEqual(listPortfolios().map((p) => p.naam), ['Eerste']);
|
||||
});
|
||||
|
||||
it('laat de tweede WEL toe in de betaalde stand', async () => {
|
||||
await createPortfolio('Eerste');
|
||||
stand = { level: 'full', enforced: true, why: 'licensed' };
|
||||
await createPortfolio('Tweede');
|
||||
assert.equal(listPortfolios().length, 2);
|
||||
});
|
||||
|
||||
it('ARCHIVEREN blijft werken boven de grens, en geeft daarna weer ruimte', async () => {
|
||||
stand = { level: 'full', enforced: true, why: 'licensed' };
|
||||
await createPortfolio('Eerste');
|
||||
await createPortfolio('Tweede');
|
||||
|
||||
stand = { level: 'free', enforced: true, why: 'none' };
|
||||
await archivePortfolio('Tweede');
|
||||
assert.equal(listPortfolios().length, 1);
|
||||
await assert.rejects(() => createPortfolio('Derde'), (fout) => fout.key === 'portfolios.maxFree');
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user