Skip to content
Snippets Groups Projects
Select Git revision
21 results Searching

error-config.ts

Blame
  • common.spec.ts 1.96 KiB
    import { load } from 'js-yaml';
    import { Fixtures } from '../../../../test/fixtures';
    import type { GitlabPipeline } from '../gitlabci/types';
    import { replaceReferenceTags } from '../gitlabci/utils';
    import {
      filterIncludeFromGitlabPipeline,
      isGitlabIncludeLocal,
      isGitlabIncludeProject,
      isNonEmptyObject,
    } from './common';
    
    const yamlFileMultiConfig = Fixtures.get('gitlab-ci.1.yaml');
    const pipeline = load(
      replaceReferenceTags(yamlFileMultiConfig)
    ) as GitlabPipeline;
    const includeLocal = { local: 'something' };
    const includeProject = { project: 'something' };
    
    describe('modules/manager/gitlabci-include/common', () => {
      describe('filterIncludeFromGitlabPipeline()', () => {
        it('returns GitlabPipeline without top level include key', () => {
          expect(pipeline).toHaveProperty('include');
          const filtered_pipeline = filterIncludeFromGitlabPipeline(pipeline);
          expect(filtered_pipeline).not.toHaveProperty('include');
          expect(filtered_pipeline).toEqual({
            script: [null, null],
          });
        });
      });
    
      describe('isGitlabIncludeLocal()', () => {
        it('returns true if GitlabInclude is GitlabIncludeLocal', () => {
          expect(isGitlabIncludeLocal(includeLocal)).toBe(true);
        });
    
        it('returns false if GitlabInclude is not GitlabIncludeLocal', () => {
          expect(isGitlabIncludeLocal(includeProject)).toBe(false);
        });
      });
    
      describe('isGitlabIncludeProject()', () => {
        it('returns true if GitlabInclude is GitlabIncludeProject', () => {
          expect(isGitlabIncludeProject(includeProject)).toBe(true);
        });
    
        it('returns false if GitlabInclude is not GitlabIncludeProject', () => {
          expect(isGitlabIncludeProject(includeLocal)).toBe(false);
        });
      });
    
      describe('isNonEmptyObject()', () => {
        it('returns true if not empty', () => {
          expect(isNonEmptyObject({ attribute1: 1 })).toBe(true);
        });
    
        it('returns false if empty', () => {
          expect(isNonEmptyObject({})).toBe(false);
        });
      });
    });