Skip to content
Snippets Groups Projects
Select Git revision
  • 28cf98fff40398c76f8b5424bf0b2f38b4e170ed
  • dependabot/npm_and_yarn/eslint-plugin-prettier-5.5.1
  • dependabot/npm_and_yarn/chai-5.2.1
  • dependabot/npm_and_yarn/smol-toml-1.4.1
  • dependabot/npm_and_yarn/sentry/node-9.38.0
  • dependabot/npm_and_yarn/webextension-store-meta-1.2.7
  • dependabot/npm_and_yarn/eslint-9.30.1
  • dependabot/npm_and_yarn/cypress-14.5.1
  • dependabot/npm_and_yarn/simple-icons-15.5.0
  • dependabot/npm_and_yarn/eslint-plugin-import-2.32.0
  • dependabot/npm_and_yarn/eslint-plugin-jsdoc-51.3.4
  • dependabot/npm_and_yarn/prettier-3.6.2
  • dependabot/npm_and_yarn/is-svg-6.1.0
  • dependabot/npm_and_yarn/query-string-9.2.2
  • dependabot/npm_and_yarn/mocha-11.7.1
  • dependabot/npm_and_yarn/globals-16.3.0
  • dependabot/npm_and_yarn/neostandard-0.12.2
  • dependabot/npm_and_yarn/concurrently-9.2.0
  • dependabot/npm_and_yarn/pg-8.16.3
  • dependabot/npm_and_yarn/typescript-eslint/parser-8.36.0
  • gh-pages
  • server-2025-07-01
  • 5.0.2
  • 5.0.1
  • 5.0.0
  • server-2025-06-01
  • server-2025-05-01
  • server-2025-04-03
  • server-2025-03-02
  • server-2025-03-01
  • server-2025-02-02
  • server-2025-01-01
  • server-2024-12-01
  • server-2024-11-02
  • 4.1.0
  • server-2024-09-25
  • server-2024-09-02
  • server-2024-08-01
  • server-2024-07-01
  • 4.0.0
  • server-2024-06-01
41 results

adding-new-config-values.md

Blame
  • index.spec.ts 2.50 KiB
    import fs from 'fs-extra';
    import _simpleGit from 'simple-git/promise';
    import { getPkgReleases } from '..';
    import { id as datasource, getDigest } from '.';
    
    jest.mock('simple-git/promise');
    const simpleGit: any = _simpleGit;
    
    const depName = 'https://github.com/example/example.git';
    
    const lsRemote1 = fs.readFileSync(
      'lib/datasource/git-refs/__fixtures__/ls-remote-1.txt',
      'utf8'
    );
    
    describe('datasource/git-refs', () => {
      describe('getReleases', () => {
        it('returns nil if response is wrong', async () => {
          simpleGit.mockReturnValue({
            listRemote() {
              return Promise.resolve(null);
            },
          });
          const versions = await getPkgReleases({
            datasource,
            depName,
          });
          expect(versions).toBeNull();
        });
        it('returns nil if remote call throws exception', async () => {
          simpleGit.mockReturnValue({
            listRemote() {
              throw new Error();
            },
          });
          const versions = await getPkgReleases({
            datasource,
            depName,
          });
          expect(versions).toBeNull();
        });
        it('returns versions filtered from tags', async () => {
          simpleGit.mockReturnValue({
            listRemote() {
              return Promise.resolve(lsRemote1);
            },
          });
    
          const versions = await getPkgReleases({
            datasource,
            depName,
          });
          expect(versions).toMatchSnapshot();
          const result = versions.releases.map((x) => x.version).sort();
          expect(result).toHaveLength(6);
        });
      });
      describe('getDigest()', () => {
        it('returns null if not found', async () => {
          simpleGit.mockReturnValue({
            listRemote() {
              return Promise.resolve(lsRemote1);
            },
          });
          const digest = await getDigest(
            { lookupName: 'a tag to look up' },
            'v2.0.0'
          );
          expect(digest).toBeNull();
        });
        it('returns digest for tag', async () => {
          simpleGit.mockReturnValue({
            listRemote() {
              return Promise.resolve(lsRemote1);
            },
          });
          const digest = await getDigest(
            { lookupName: 'a tag to look up' },
            'v1.0.4'
          );
          expect(digest).toMatchSnapshot();
        });
        it('returns digest for HEAD', async () => {
          simpleGit.mockReturnValue({
            listRemote() {
              return Promise.resolve(lsRemote1);
            },
          });
          const digest = await getDigest(
            { lookupName: 'another tag to look up' },
            undefined
          );
          expect(digest).toMatchSnapshot();
        });
      });
    });