master
1import { describe, test, expect } from 'vitest'
2import { generateReadme } from './update-readme.js'
3import type { Badge } from './badges.js'
4import abcPresenter from '#badges/abc-commit/abc-commit.js'
5import { badgeCollection } from './present-badges.js'
6
7describe('generateReadme()', () => {
8 test('injects badges to md contents', () => {
9 const readme = `
10<!-- my-badges start -->
11<!-- my-badges end -->
12# readme`
13 const badges: Badge[] = []
14 const grant = badgeCollection(badges)
15
16 abcPresenter.badges.forEach((badge) => grant(badge, 'test'))
17 expect(badges.length).toEqual(6)
18
19 const contents = generateReadme(readme, badges, 64)
20 expect(contents).toEqual(
21 `
22<!-- my-badges start -->
23<a href="my-badges/a-commit.md"><img src="" alt="test" title="test" width="64"></a>
24<a href="my-badges/ab-commit.md"><img src="" alt="test" title="test" width="64"></a>
25<a href="my-badges/abc-commit.md"><img src="" alt="test" title="test" width="64"></a>
26<a href="my-badges/abcd-commit.md"><img src="" alt="test" title="test" width="64"></a>
27<a href="my-badges/abcde-commit.md"><img src="" alt="test" title="test" width="64"></a>
28<a href="my-badges/abcdef-commit.md"><img src="" alt="test" title="test" width="64"></a>
29<!-- my-badges end -->
30# readme`,
31 )
32 })
33
34 test('prepends badges if no marks found', () => {
35 const readme = '# Readme'
36 const badges: Badge[] = []
37 const grant = badgeCollection(badges)
38
39 abcPresenter.badges.forEach((badge) => grant(badge, 'test'))
40 expect(badges.length).toEqual(6)
41
42 const contents = generateReadme(readme, badges, 64)
43
44 expect(contents).toEqual(
45 `<!-- my-badges start -->
46<a href="my-badges/a-commit.md"><img src="" alt="test" title="test" width="64"></a>
47<a href="my-badges/ab-commit.md"><img src="" alt="test" title="test" width="64"></a>
48<a href="my-badges/abc-commit.md"><img src="" alt="test" title="test" width="64"></a>
49<a href="my-badges/abcd-commit.md"><img src="" alt="test" title="test" width="64"></a>
50<a href="my-badges/abcde-commit.md"><img src="" alt="test" title="test" width="64"></a>
51<a href="my-badges/abcdef-commit.md"><img src="" alt="test" title="test" width="64"></a>
52<!-- my-badges end -->
53
54${readme}`,
55 )
56 })
57})