/** * Tests for exit codes */ import { describe, it, expect } from 'vitest'; import { EXIT_SUCCESS, EXIT_GENERAL_ERROR, EXIT_ISSUE_FETCH_FAILED, EXIT_PIECE_FAILED, EXIT_GIT_OPERATION_FAILED, EXIT_PR_CREATION_FAILED, EXIT_SIGINT, } from '../shared/exitCodes.js'; describe('exit codes', () => { it('should have distinct values', () => { const codes = [ EXIT_SUCCESS, EXIT_GENERAL_ERROR, EXIT_ISSUE_FETCH_FAILED, EXIT_PIECE_FAILED, EXIT_GIT_OPERATION_FAILED, EXIT_PR_CREATION_FAILED, EXIT_SIGINT, ]; const unique = new Set(codes); expect(unique.size).toBe(codes.length); }); it('should match expected values from spec', () => { expect(EXIT_SUCCESS).toBe(0); expect(EXIT_GENERAL_ERROR).toBe(1); expect(EXIT_ISSUE_FETCH_FAILED).toBe(2); expect(EXIT_PIECE_FAILED).toBe(3); expect(EXIT_GIT_OPERATION_FAILED).toBe(4); expect(EXIT_PR_CREATION_FAILED).toBe(5); expect(EXIT_SIGINT).toBe(130); }); });