@event-driven-io/emmett 0.27.0 → 0.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +84 -55
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +20 -7
- package/dist/index.d.ts +20 -7
- package/dist/index.js +84 -55
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1459,66 +1459,95 @@ var assertThatArray = (array) => {
|
|
|
1459
1459
|
|
|
1460
1460
|
// src/testing/deciderSpecification.ts
|
|
1461
1461
|
var DeciderSpecification = {
|
|
1462
|
-
for:
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
return
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
assertTrue(
|
|
1504
|
-
error2 instanceof args[0],
|
|
1505
|
-
`Caught error is not an instance of the expected type: ${_optionalChain([error2, 'optionalAccess', _72 => _72.toString, 'call', _73 => _73()])}`
|
|
1506
|
-
);
|
|
1507
|
-
if (args[1]) {
|
|
1508
|
-
assertTrue(
|
|
1509
|
-
args[1](error2),
|
|
1510
|
-
`Error didn't match the error condition: ${_optionalChain([error2, 'optionalAccess', _74 => _74.toString, 'call', _75 => _75()])}`
|
|
1462
|
+
for: deciderSpecificationFor
|
|
1463
|
+
};
|
|
1464
|
+
function deciderSpecificationFor(decider) {
|
|
1465
|
+
{
|
|
1466
|
+
return (givenEvents) => {
|
|
1467
|
+
return {
|
|
1468
|
+
when: (command2) => {
|
|
1469
|
+
const handle = () => {
|
|
1470
|
+
const existingEvents = Array.isArray(givenEvents) ? givenEvents : [givenEvents];
|
|
1471
|
+
const currentState = existingEvents.reduce(
|
|
1472
|
+
decider.evolve,
|
|
1473
|
+
decider.initialState()
|
|
1474
|
+
);
|
|
1475
|
+
return decider.decide(command2, currentState);
|
|
1476
|
+
};
|
|
1477
|
+
return {
|
|
1478
|
+
then: (expectedEvents) => {
|
|
1479
|
+
const resultEvents = handle();
|
|
1480
|
+
if (resultEvents instanceof Promise) {
|
|
1481
|
+
return resultEvents.then((events) => {
|
|
1482
|
+
thenHandler(events, expectedEvents);
|
|
1483
|
+
});
|
|
1484
|
+
}
|
|
1485
|
+
thenHandler(resultEvents, expectedEvents);
|
|
1486
|
+
},
|
|
1487
|
+
thenNothingHappened: () => {
|
|
1488
|
+
const resultEvents = handle();
|
|
1489
|
+
if (resultEvents instanceof Promise) {
|
|
1490
|
+
return resultEvents.then((events) => {
|
|
1491
|
+
thenNothingHappensHandler(events);
|
|
1492
|
+
});
|
|
1493
|
+
}
|
|
1494
|
+
thenNothingHappensHandler(resultEvents);
|
|
1495
|
+
},
|
|
1496
|
+
thenThrows: (...args) => {
|
|
1497
|
+
try {
|
|
1498
|
+
const result = handle();
|
|
1499
|
+
if (result instanceof Promise) {
|
|
1500
|
+
return result.then(() => {
|
|
1501
|
+
throw new AssertionError(
|
|
1502
|
+
"Handler did not fail as expected"
|
|
1511
1503
|
);
|
|
1512
|
-
}
|
|
1504
|
+
}).catch((error2) => {
|
|
1505
|
+
thenThrowsErrorHandler(error2, args);
|
|
1506
|
+
});
|
|
1513
1507
|
}
|
|
1508
|
+
throw new AssertionError("Handler did not fail as expected");
|
|
1509
|
+
} catch (error2) {
|
|
1510
|
+
thenThrowsErrorHandler(error2, args);
|
|
1514
1511
|
}
|
|
1515
|
-
}
|
|
1516
|
-
}
|
|
1517
|
-
}
|
|
1512
|
+
}
|
|
1513
|
+
};
|
|
1514
|
+
}
|
|
1518
1515
|
};
|
|
1519
|
-
}
|
|
1516
|
+
};
|
|
1520
1517
|
}
|
|
1521
|
-
}
|
|
1518
|
+
}
|
|
1519
|
+
function thenHandler(events, expectedEvents) {
|
|
1520
|
+
const resultEventsArray = Array.isArray(events) ? events : [events];
|
|
1521
|
+
const expectedEventsArray = Array.isArray(expectedEvents) ? expectedEvents : [expectedEvents];
|
|
1522
|
+
assertThatArray(resultEventsArray).containsOnlyElementsMatching(
|
|
1523
|
+
expectedEventsArray
|
|
1524
|
+
);
|
|
1525
|
+
}
|
|
1526
|
+
function thenNothingHappensHandler(events) {
|
|
1527
|
+
const resultEventsArray = Array.isArray(events) ? events : [events];
|
|
1528
|
+
assertThatArray(resultEventsArray).isEmpty();
|
|
1529
|
+
}
|
|
1530
|
+
function thenThrowsErrorHandler(error2, args) {
|
|
1531
|
+
if (error2 instanceof AssertionError) throw error2;
|
|
1532
|
+
if (args.length === 0) return;
|
|
1533
|
+
if (!_chunkWM5VB4U5cjs.isErrorConstructor.call(void 0, args[0])) {
|
|
1534
|
+
assertTrue(
|
|
1535
|
+
args[0](error2),
|
|
1536
|
+
`Error didn't match the error condition: ${_optionalChain([error2, 'optionalAccess', _70 => _70.toString, 'call', _71 => _71()])}`
|
|
1537
|
+
);
|
|
1538
|
+
return;
|
|
1539
|
+
}
|
|
1540
|
+
assertTrue(
|
|
1541
|
+
error2 instanceof args[0],
|
|
1542
|
+
`Caught error is not an instance of the expected type: ${_optionalChain([error2, 'optionalAccess', _72 => _72.toString, 'call', _73 => _73()])}`
|
|
1543
|
+
);
|
|
1544
|
+
if (args[1]) {
|
|
1545
|
+
assertTrue(
|
|
1546
|
+
args[1](error2),
|
|
1547
|
+
`Error didn't match the error condition: ${_optionalChain([error2, 'optionalAccess', _74 => _74.toString, 'call', _75 => _75()])}`
|
|
1548
|
+
);
|
|
1549
|
+
}
|
|
1550
|
+
}
|
|
1522
1551
|
|
|
1523
1552
|
// src/testing/wrapEventStore.ts
|
|
1524
1553
|
var WrapEventStore = (eventStore) => {
|