Options.spec.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import 'reflect-metadata';
  2. import { assert } from 'chai';
  3. import { TInputOptions } from '../../../src/types/options/TInputOptions';
  4. import { TOptionsPreset } from '../../../src/types/options/TOptionsPreset';
  5. import { OptionsPreset } from '../../../src/enums/options/presets/OptionsPreset';
  6. import { HIGH_OBFUSCATION_PRESET } from '../../../src/options/presets/HighObfuscation';
  7. import { Options } from '../../../src/options/Options';
  8. describe('Options', () => {
  9. describe('getOptionsByPreset', () => {
  10. describe('Variant #1: base behaviour', () => {
  11. const optionsPresetName: TOptionsPreset = OptionsPreset.HighObfuscation;
  12. let options: TInputOptions;
  13. before(() => {
  14. options = Options.getOptionsByPreset(optionsPresetName);
  15. });
  16. it('Should return options for passed options preset name', () => {
  17. assert.deepEqual(options, HIGH_OBFUSCATION_PRESET);
  18. });
  19. });
  20. describe('Variant #2: unknown options preset name', () => {
  21. const optionsPresetName: TOptionsPreset = 'foobar' as TOptionsPreset;
  22. let testFunc: () => TInputOptions;
  23. before(() => {
  24. testFunc = () => Options.getOptionsByPreset(optionsPresetName);
  25. });
  26. it('Should throws an error when unknown option preset is passed', () => {
  27. assert.throws(testFunc, 'Options for preset name `foobar` are not found');
  28. });
  29. });
  30. });
  31. });