Skip to content

Commit b14b8ca

Browse files
committed
Fix AI text generation configuration reporting
1 parent 3a9e056 commit b14b8ca

File tree

3 files changed

+25
-21
lines changed

3 files changed

+25
-21
lines changed

__tests__/ai.test.ts

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,69 @@
11
/* eslint-disable quotes */
22
import {
3-
parseAiAutoGeneratedFieldsText,
3+
AI_AUTO_GENERATED_FIELDS_DEFAULT,
4+
parseAiAutoGeneratedFieldsString,
45
parseTitleAndCaption,
56
} from "@/photo/ai";
67

78
describe('AI parses', () => {
89
describe('auto-generated fields', () => {
910
it('with spaces', () => {
10-
expect(parseAiAutoGeneratedFieldsText())
11+
expect(parseAiAutoGeneratedFieldsString())
12+
.toStrictEqual(AI_AUTO_GENERATED_FIELDS_DEFAULT);
13+
expect(parseAiAutoGeneratedFieldsString('all'))
1114
.toStrictEqual(['title', 'caption', 'tags', 'semantic']);
12-
expect(parseAiAutoGeneratedFieldsText('all'))
13-
.toStrictEqual(['title', 'caption', 'tags', 'semantic']);
14-
expect(parseAiAutoGeneratedFieldsText('title'))
15+
expect(parseAiAutoGeneratedFieldsString('title'))
1516
.toStrictEqual(['title']);
16-
expect(parseAiAutoGeneratedFieldsText('title, caption'))
17+
expect(parseAiAutoGeneratedFieldsString('title, caption'))
1718
.toStrictEqual(['title', 'caption']);
18-
expect(parseAiAutoGeneratedFieldsText('title, caption, invalid'))
19+
expect(parseAiAutoGeneratedFieldsString('title, caption, invalid'))
1920
.toStrictEqual(['title', 'caption']);
20-
expect(parseAiAutoGeneratedFieldsText('title, caption, invalid, tags'))
21+
expect(parseAiAutoGeneratedFieldsString('title, caption, invalid, tags'))
2122
.toStrictEqual(['title', 'caption', 'tags']);
22-
expect(parseAiAutoGeneratedFieldsText('none'))
23+
expect(parseAiAutoGeneratedFieldsString('none'))
2324
.toStrictEqual([]);
2425
});
2526
it('without spaces', () => {
26-
expect(parseAiAutoGeneratedFieldsText('title,caption'))
27+
expect(parseAiAutoGeneratedFieldsString('title,caption'))
2728
.toStrictEqual(['title', 'caption']);
28-
expect(parseAiAutoGeneratedFieldsText('title,caption,invalid'))
29+
expect(parseAiAutoGeneratedFieldsString('title,caption,invalid'))
2930
.toStrictEqual(['title', 'caption']);
30-
expect(parseAiAutoGeneratedFieldsText('title,caption,invalid,tags'))
31+
expect(parseAiAutoGeneratedFieldsString('title,caption,invalid,tags'))
3132
.toStrictEqual(['title', 'caption', 'tags']);
3233
});
3334
});
3435
it('received titles and captions', () => {
3536
// Complex case
3637
expect(parseTitleAndCaption(
37-
`'Title: "Ephemeral Beauty" Caption: "Roses bask in fleeting sunlight."'`
38+
`'Title: "Ephemeral Beauty" Caption: "Roses bask in fleeting sunlight."'`,
3839
)).toStrictEqual({
3940
title: 'Ephemeral Beauty',
4041
caption: 'Roses bask in fleeting sunlight',
4142
});
4243
// Without surrounding single quotes
4344
expect(parseTitleAndCaption(
44-
`Title: "Ephemeral Beauty" Caption: "Roses bask in fleeting sunlight."`
45+
`Title: "Ephemeral Beauty" Caption: "Roses bask in fleeting sunlight."`,
4546
)).toStrictEqual({
4647
title: 'Ephemeral Beauty',
4748
caption: 'Roses bask in fleeting sunlight',
4849
});
4950
// Without trailing period
5051
expect(parseTitleAndCaption(
51-
`Title: "Ephemeral Beauty" Caption: "Roses bask in fleeting sunlight"`
52+
`Title: "Ephemeral Beauty" Caption: "Roses bask in fleeting sunlight"`,
5253
)).toStrictEqual({
5354
title: 'Ephemeral Beauty',
5455
caption: 'Roses bask in fleeting sunlight',
5556
});
5657
// Without and quotes
5758
expect(parseTitleAndCaption(
58-
`Title: Ephemeral Beauty Caption: Roses bask in fleeting sunlight`
59+
`Title: Ephemeral Beauty Caption: Roses bask in fleeting sunlight`,
5960
)).toStrictEqual({
6061
title: 'Ephemeral Beauty',
6162
caption: 'Roses bask in fleeting sunlight',
6263
});
6364
// With single space
6465
expect(parseTitleAndCaption(
65-
`Title: Ephemeral Beauty Caption: Roses bask in fleeting sunlight`
66+
`Title: Ephemeral Beauty Caption: Roses bask in fleeting sunlight`,
6667
)).toStrictEqual({
6768
title: 'Ephemeral Beauty',
6869
caption: 'Roses bask in fleeting sunlight',

src/photo/ai/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export const AI_AUTO_GENERATED_FIELDS_DEFAULT: AiAutoGeneratedField[] = [
2121
'semantic',
2222
];
2323

24-
export const parseAiAutoGeneratedFieldsText = (
24+
export const parseAiAutoGeneratedFieldsString = (
2525
text = AI_AUTO_GENERATED_FIELDS_DEFAULT.join(','),
2626
): AiAutoGeneratedField[] => {
2727
const textFormatted = text.trim().toLocaleLowerCase();

src/site/config.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
import { parseAiAutoGeneratedFieldsText } from '@/photo/ai';
1+
import {
2+
AI_AUTO_GENERATED_FIELDS_DEFAULT,
3+
parseAiAutoGeneratedFieldsString,
4+
} from '@/photo/ai';
25
import type { StorageType } from '@/services/storage';
36
import { makeUrlAbsolute, shortenUrl } from '@/utility/url';
47

@@ -142,7 +145,7 @@ export const CURRENT_STORAGE: StorageType =
142145

143146
export const AI_TEXT_GENERATION_ENABLED =
144147
Boolean(process.env.OPENAI_SECRET_KEY);
145-
export const AI_TEXT_AUTO_GENERATED_FIELDS = parseAiAutoGeneratedFieldsText(
148+
export const AI_TEXT_AUTO_GENERATED_FIELDS = parseAiAutoGeneratedFieldsString(
146149
process.env.AI_TEXT_AUTO_GENERATED_FIELDS);
147150

148151
// PERFORMANCE
@@ -265,7 +268,7 @@ export const CONFIG_CHECKLIST_STATUS = {
265268
? AI_TEXT_AUTO_GENERATED_FIELDS.length === 0
266269
? ['none']
267270
: AI_TEXT_AUTO_GENERATED_FIELDS
268-
: ['all'],
271+
: AI_AUTO_GENERATED_FIELDS_DEFAULT,
269272
hasAiTextAutoGeneratedFields:
270273
Boolean(process.env.AI_TEXT_AUTO_GENERATED_FIELDS),
271274
// Performance

0 commit comments

Comments
 (0)