7.4.7 • Published 1 month ago

@smartlyio/oats-fast-check v7.4.7

Weekly downloads
31
License
MIT
Repository
github
Last release
1 month ago

Fast-check generators for smartlyio/oats

Fast-check generators for @smartlyio/oats types.

generator.named

Generate values of named types from the openapi specification. Here using a jest wrapper.

// yarn jest examples/type.spec.ts
import * as fc from 'fast-check';
import { generator } from '../src/index';
import * as runtime from '@smartlyio/oats-runtime';
import * as types from '../tmp/openapi.types.generated';

describe('value generation', () => {
  it ('generates valid values', () =>
    fc.assert(
      fc.property(
        // create a fast-check Arbitrary from the type structure
        generator.named(types.typeTestObject),
        (value: types.TestObject) => {
          // assert that all the generated values are valid
          const json = runtime.valueClass.toJSON(value);
          types.typeTestObject.maker(json).success();
        }
      )
  ))
});

generator.override

Override automatic generators globally with a custom Arbitrary

// yarn jest examples/override.spec.ts
import * as fc from 'fast-check';
import { generator } from '../src/index';
import * as types from '../tmp/openapi.types.generated';

describe('overriding generators', () => {
  it ('.override provides custom generator for type', () => {
    generator.override(types.typeTestTarget, fc.constant('overridden value'));
    fc.assert(
      fc.property(
        generator.named(types.typeTestTarget),
        (value: types.TestTarget) => {
          expect(value).toEqual('overridden value');
        }
      )
    );
  })

  it ('.clear removes override', () => {
    generator.override(types.typeTestTarget, fc.constant('overridden value'));
    generator.clear(types.typeTestTarget);
    fc.assert(
      fc.property(
        generator.named(types.typeTestTarget),
        (value: types.TestTarget) => {
          expect(value).not.toEqual('overridden value');
        }
      )
    );
  })
});
7.4.8-alpha.3

1 month ago

7.4.8-alpha.1

1 month ago

7.4.8-alpha.0

1 month ago

7.4.7

1 month ago

7.4.6

1 month ago

7.4.5

2 months ago

7.4.4

2 months ago

7.4.4-alpha.2

2 months ago

7.4.1-alpha.2

5 months ago

7.4.1

5 months ago

7.3.1-alpha.7

10 months ago

7.3.3-alpha.0

9 months ago

7.3.3-alpha.1

9 months ago

7.3.3-alpha.6

9 months ago

7.4.0

9 months ago

7.3.2

10 months ago

7.3.0

12 months ago

7.1.0

1 year ago

7.0.1-next.1

1 year ago

6.3.3-alpha.1

1 year ago

7.0.0

1 year ago

7.0.1-alpha.1

1 year ago

7.2.0

12 months ago

6.1.0

1 year ago

6.3.2-alpha.3

1 year ago

6.3.0

1 year ago

6.1.2

1 year ago

6.1.1

1 year ago

6.3.2

1 year ago

6.3.1

1 year ago

6.1.3

1 year ago

6.0.3

1 year ago

6.2.0

1 year ago

6.1.4-alpha.3

1 year ago

6.0.2

1 year ago

6.0.1

2 years ago

6.0.0

2 years ago

6.0.0-alpha.12

2 years ago

6.0.0-alpha.13

2 years ago

5.1.5

2 years ago

5.1.4

2 years ago

5.1.3

2 years ago

5.1.2

2 years ago

5.1.1

2 years ago

5.1.0

2 years ago

5.0.0

2 years ago

5.1.4-alpha.0

2 years ago

4.4.1-alpha.19

2 years ago

4.4.1-alpha.14

2 years ago

4.4.1-alpha.13

2 years ago

4.4.1-alpha.18

2 years ago

4.4.1-alpha.9

2 years ago

4.4.0

2 years ago

4.3.2

2 years ago

4.3.1

2 years ago

4.3.0

2 years ago

4.2.0

2 years ago

4.1.1-alpha.14

2 years ago

4.1.0

2 years ago

4.1.0-alpha.0

2 years ago

4.0.0-alpha.2

2 years ago

3.4.0

2 years ago

3.5.0

2 years ago

4.0.1

2 years ago

4.0.0

2 years ago

4.0.3

2 years ago

4.0.2

2 years ago

3.5.0-alpha.6

2 years ago

3.3.1-alpha.24

3 years ago

3.3.1

3 years ago

3.1.6-alpha.15

3 years ago

3.3.0

3 years ago

3.2.0

3 years ago

3.3.0-alpha.1

3 years ago

3.1.5

3 years ago

3.2.0-alpha.33

3 years ago

3.2.0-alpha.15

3 years ago

3.1.4-alpha.14

3 years ago

3.1.4

3 years ago

3.1.4-alpha.1

3 years ago

3.1.3

3 years ago

3.1.2

3 years ago

3.1.1

3 years ago

3.0.0

3 years ago

3.0.0-alpha.18

3 years ago

3.0.0-alpha.17

3 years ago

2.18.3-alpha.10

3 years ago

2.18.3-alpha.17

3 years ago

2.18.1

3 years ago

2.18.2

3 years ago

2.18.0

3 years ago

2.17.1-alpha.926

3 years ago

2.17.1-alpha.917

3 years ago

2.17.1-alpha.918

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago