Commit 41843c8c authored by Dan Allen's avatar Dan Allen
Browse files

add test to verify commits in non-default branch can be found

parent 397bdb23
Loading
Loading
Loading
Loading
Loading
+33 −0
Original line number Diff line number Diff line
@@ -5851,6 +5851,39 @@ describe('aggregateContent()', () => {
      expect(page1v1.contents.toString()).to.have.string('= Page One\n')
    })

    it('should fetch commits on non-default branch when runtime.fetch option is enabled', async () => {
      const repoBuilder = new RepositoryBuilder(CONTENT_REPOS_DIR, FIXTURES_DIR, { remote: { gitServerPort } })
      let targetOid
      await initRepoWithFiles(repoBuilder, undefined, 'modules/ROOT/pages/page-one.adoc', () =>
        repoBuilder
          .checkoutBranch('v1.2.x')
          .then(() => repoBuilder.addToWorktree('modules/ROOT/pages/page-one.adoc', '= Page One Target\n\nHey, world!'))
          .then(() => repoBuilder.commitAll('update page one'))
          .then(() => repoBuilder.resolveRef())
          .then((oid) => (targetOid = oid))
          .then(() =>
            repoBuilder.addToWorktree('modules/ROOT/pages/page-one.adoc', '= Page One Modified 2\n\nHey, world!')
          )
          .then(() => repoBuilder.commitAll('update page one'))
          .then(() =>
            repoBuilder.addToWorktree('modules/ROOT/pages/page-one.adoc', '= Page One Modified 3\n\nHey, world!')
          )
          .then(() => repoBuilder.commitAll('update page one'))
          .then(() => repoBuilder.checkoutBranch('main'))
          .then(() => repoBuilder.addComponentDescriptorToWorktree({ name: 'the-component', version: '2.0.x' }))
          .then(() => repoBuilder.commitAll('update version'))
      )
      playbookSpec.content.sources.push({ url: repoBuilder.url, branches: null, commits: [targetOid] })

      const aggregate = await aggregateContent(playbookSpec)

      expect(aggregate).to.have.lengthOf(1)
      expect(aggregate[0]).to.include({ name: 'the-component', version: 'v1.2.3' })
      const page = aggregate[0].files.find((file) => file.path === 'modules/ROOT/pages/page-one.adoc')
      expect(page).to.exist()
      expect(page.contents.toString()).to.have.string('= Page One Target\n')
    })

    it('should prune branches when runtime.fetch option is enabled', async () => {
      const repoBuilder = new RepositoryBuilder(CONTENT_REPOS_DIR, FIXTURES_DIR, { remote: { gitServerPort } })
      const componentDesc = { name: 'the-component', version: '1.2' }