diff options
Diffstat (limited to 'scripts/changelog-checker/test/checker.test.ts')
| -rw-r--r-- | scripts/changelog-checker/test/checker.test.ts | 414 |
1 files changed, 0 insertions, 414 deletions
diff --git a/scripts/changelog-checker/test/checker.test.ts b/scripts/changelog-checker/test/checker.test.ts deleted file mode 100644 index bc73e5622b..0000000000 --- a/scripts/changelog-checker/test/checker.test.ts +++ /dev/null @@ -1,414 +0,0 @@ -import {expect, suite, test} from "vitest"; -import {Release, ReleaseCategory} from "../src/parser"; -import {checkNewRelease, checkNewTopic} from "../src/checker"; - -suite('checkNewRelease', () => { - test('headに新しいリリースがある1', () => { - const base = [new Release('2024.12.0')] - const head = [new Release('2024.12.1'), new Release('2024.12.0')] - - const result = checkNewRelease(base, head) - - expect(result.success).toBe(true) - }) - - test('headに新しいリリースがある2', () => { - const base = [new Release('2024.12.0')] - const head = [new Release('2024.12.2'), new Release('2024.12.1'), new Release('2024.12.0')] - - const result = checkNewRelease(base, head) - - expect(result.success).toBe(true) - }) - - - test('リリースの数が同じ', () => { - const base = [new Release('2024.12.0')] - const head = [new Release('2024.12.0')] - - const result = checkNewRelease(base, head) - - console.log(result.message) - expect(result.success).toBe(false) - }) - - test('baseにあるリリースがheadにない', () => { - const base = [new Release('2024.12.0')] - const head = [new Release('2024.12.2'), new Release('2024.12.1')] - - const result = checkNewRelease(base, head) - - console.log(result.message) - expect(result.success).toBe(false) - }) -}) - -suite('checkNewTopic', () => { - test('追記なし', () => { - const base = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat3', - 'feat4', - ]) - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat3', - 'feat4', - ]) - ]) - ] - - const head = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat3', - 'feat4', - ]) - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat3', - 'feat4', - ]) - ]) - ] - - const result = checkNewTopic(base, head) - - expect(result.success).toBe(true) - }) - - test('最新バージョンにカテゴリを追加したときはエラーにならない', () => { - const base = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat3', - 'feat4', - ]) - ]) - ] - - const head = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat3', - 'feat4', - ]) - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat3', - 'feat4', - ]) - ]) - ] - - const result = checkNewTopic(base, head) - - expect(result.success).toBe(true) - }) - - test('最新バージョンからカテゴリを削除したときはエラーにならない', () => { - const base = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat3', - 'feat4', - ]) - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat3', - 'feat4', - ]) - ]) - ] - - const head = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat3', - 'feat4', - ]) - ]) - ] - - const result = checkNewTopic(base, head) - - expect(result.success).toBe(true) - }) - - test('最新バージョンに追記したときはエラーにならない', () => { - const base = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]) - ] - - const head = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - 'feat3', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]) - ] - - const result = checkNewTopic(base, head) - - expect(result.success).toBe(true) - }) - - test('最新バージョンから削除したときはエラーにならない', () => { - const base = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]) - ] - - const head = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]) - ] - - const result = checkNewTopic(base, head) - - expect(result.success).toBe(true) - }) - - test('古いバージョンにカテゴリを追加したときはエラーになる', () => { - const base = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]) - ] - - const head = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat1', - 'feat2', - ]), - ]) - ] - - const result = checkNewTopic(base, head) - - console.log(result.message) - expect(result.success).toBe(false) - }) - - test('古いバージョンからカテゴリを削除したときはエラーになる', () => { - const base = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]) - ] - - const head = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - ]) - ] - - const result = checkNewTopic(base, head) - - console.log(result.message) - expect(result.success).toBe(false) - }) - - test('古いバージョンに追記したときはエラーになる', () => { - const base = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]) - ] - - const head = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - 'feat3', - ]), - ]) - ] - - const result = checkNewTopic(base, head) - - console.log(result.message) - expect(result.success).toBe(false) - }) - - test('古いバージョンから削除したときはエラーになる', () => { - const base = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]) - ] - - const head = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - ]), - ]) - ] - - const result = checkNewTopic(base, head) - - console.log(result.message) - expect(result.success).toBe(false) - }) -})
\ No newline at end of file |