TestFactory.js 834 B

123456789101112131415161718192021222324252627282930313233
  1. module.exports = class TestFactory {
  2. static cartesian (
  3. name,
  4. coverageModel,
  5. { each, init }
  6. ) {
  7. const do_ = async t => {
  8. const states = coverageModel.states;
  9. if ( init ) await init(t);
  10. for ( let i=0 ; i < states.length ; i++ ) {
  11. const state = states[i];
  12. if ( t.context.options.onlycase !== undefined ) {
  13. if ( i !== t.context.options.onlycase ) {
  14. continue;
  15. }
  16. }
  17. await t.case(`case ${i}`, async () => {
  18. console.log('state', state);
  19. await each(t, state, i);
  20. })
  21. }
  22. };
  23. return {
  24. name,
  25. do: do_,
  26. };
  27. }
  28. }