name: Test Package External
on:
  workflow_dispatch:
  pull_request:
    branches:
      - main

jobs:
  external_test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/setup-node@v4

      - name: Checkout code
        uses: actions/checkout@v4
        with:
          path: build-tar

      - run: npm ci
        working-directory: build-tar

      - run: npm run build
        working-directory: build-tar

      - id: pack_tar
        run: echo "tar_name=$(npm pack)" >> $GITHUB_OUTPUT
        working-directory: build-tar

      - uses: actions/checkout@v4
        with:
          repository: EmandM/import-test
          path: external-test

      - run: npm ci
        working-directory: external-test

      - run: npm uninstall ts-mock-imports # Ensure no contamination from existing
        working-directory: external-test

      - run: npm install ${{ github.workspace }}/build-tar/${{ steps.pack_tar.outputs.tar_name }}
        working-directory: external-test

      - run: npm test
        working-directory: external-test
