From a23bda33c4225b647b29bfd95383061ba33dc40d Mon Sep 17 00:00:00 2001 From: Ross Brodbeck Date: Thu, 16 Apr 2020 14:23:28 -0400 Subject: [PATCH] Update the readme, add a test (#46) * Add a test to days = -1 * Update the readme on how to build it --- README.md | 17 +++++++++++++++++ __tests__/main.test.ts | 22 ++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/README.md b/README.md index 1e2e7dc45..5f51a10d5 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,23 @@ Warns and then closes issues and PRs that have had no activity for a specified amount of time. +### Building and testing + +Install the dependencies +```bash +$ npm install +``` + +Build the typescript and package it for distribution +```bash +$ npm run build && npm run pack +``` + +Run the tests :heavy_check_mark: +```bash +$ npm test +``` + ### Usage See [action.yml](./action.yml) For comprehensive list of options. diff --git a/__tests__/main.test.ts b/__tests__/main.test.ts index e948c4fef..56ec6f21a 100644 --- a/__tests__/main.test.ts +++ b/__tests__/main.test.ts @@ -178,3 +178,25 @@ test('exempt pr labels will not be marked stale', async () => { expect(processor.staleIssues.length).toEqual(2); // PR should get processed even though it has an exempt **issue** label }); + +test('stale issues should not be closed if days is set to -1', async () => { + const TestIssueList: Issue[] = [ + generateIssue(1, 'My first issue', '2020-01-01T17:00:00Z', false, [ + 'Stale' + ]), + generateIssue(2, 'My first PR', '2020-01-01T17:00:00Z', true, ['Stale']), + generateIssue(3, 'Another issue', '2020-01-01T17:00:00Z', false, ['Stale']) + ]; + + let opts = DefaultProcessorOptions; + opts.daysBeforeClose = -1; + + const processor = new IssueProcessor(DefaultProcessorOptions, async p => + p == 1 ? TestIssueList : [] + ); + + // process our fake issue list + await processor.processIssues(1); + + expect(processor.closedIssues.length).toEqual(0); +});