Skip to content
Snippets Groups Projects
Select Git revision
  • 906c6273c777343f73a752e48bb73ceb0001dec8
  • master default
2 results

validation.spec.js

Blame
  • validation.spec.js 1.36 KiB
    const configValidation = require('../../lib/config/validation.js');
    
    describe('config/validation', () => {
      describe('validateConfig(config)', () => {
        it('returns nested errors', async () => {
          const config = {
            foo: 1,
            schedule: ['after 5pm'],
            timezone: 'Asia/Singapore',
            prBody: 'some-body',
            lockFileMaintenance: {
              bar: 2,
            },
          };
          const { warnings, errors } = await configValidation.validateConfig(
            config
          );
          expect(warnings).toHaveLength(0);
          expect(errors).toHaveLength(2);
          expect(errors).toMatchSnapshot();
        });
        it('errors for all types', async () => {
          const config = {
            allowedVersions: 'foo',
            enabled: 1,
            schedule: ['every 15 mins every weekday'],
            timezone: 'Asia',
            labels: 5,
            semanticCommitType: 7,
            lockFileMaintenance: false,
            extends: [':timezone(Europe/Brussel)'],
            packageRules: [
              {
                excludePackageNames: ['foo'],
                enabled: true,
              },
              {
                foo: 1,
              },
              'what?',
            ],
          };
          const { warnings, errors } = await configValidation.validateConfig(
            config
          );
          expect(warnings).toHaveLength(0);
          expect(errors).toMatchSnapshot();
          expect(errors).toHaveLength(11);
        });
      });
    });