feat: add more label to category classifier
Quality Assurance / lint (push) Successful in 1m6s
Quality Assurance / typecheck (push) Successful in 1m55s
Quality Assurance / typecheck (push) Successful in 1m58s
Quality Assurance / lint (push) Successful in 2m2s
Deploy / quality (push) Successful in 2m3s
Deploy / deploy (push) Failing after 5s

This commit is contained in:
2026-08-29 22:07:48 +02:00
parent 8dbb7fe16c
commit a0e73de664
2 changed files with 36 additions and 0 deletions
+12
View File
@@ -47,7 +47,12 @@ export const Categories: Category[] = [
"accident",
"actualite",
"actualité",
"actualites",
"actualites-en",
"actualites-sw",
"actualite-en-rdc",
"a-la-une",
"alaune",
"en bref",
"en-clair",
"encontinu",
@@ -59,6 +64,7 @@ export const Categories: Category[] = [
"archives",
"insolite",
"national",
"nation",
"featured",
"related-featured",
"top-featured",
@@ -102,6 +108,10 @@ export const Categories: Category[] = [
"conférence des nations unies",
"nations unies",
"rebellion",
"sécurité",
"securite",
"securite-defense",
"gouvernance",
],
createdAt: new Date(),
description: "Élections, gouvernance, institutions, diplomatie et conflits politiques.",
@@ -193,6 +203,7 @@ export const Categories: Category[] = [
"style et beauté",
"societe",
"société",
"social",
],
createdAt: new Date(),
description: "Questions sociales, éducation, santé, justice, genre et vie quotidienne.",
@@ -254,6 +265,7 @@ export const Categories: Category[] = [
"transport",
"route",
"infrastructures",
"international",
"ukraine-conflict",
],
createdAt: new Date(),
@@ -1,6 +1,7 @@
import { describe, expect, test } from "bun:test";
import { classifyCategory } from "../../../packages/db/src/services/category-classifier";
import { Categories } from "../../../packages/domain/src/models/categories";
const configured = [
{
@@ -45,4 +46,27 @@ describe("managed category classifier", () => {
expect(result.category.slug).toBe("news");
expect(result.matches).toBe(0);
});
test("classifies common source labels with the static category map", () => {
const expectations = {
"actualite-en-rdc": "actualites-faits-divers",
actualites: "actualites-faits-divers",
"actualites-en": "actualites-faits-divers",
"actualites-sw": "actualites-faits-divers",
alaune: "actualites-faits-divers",
gouvernance: "politique-gouvernement",
international: "international-regions",
nation: "actualites-faits-divers",
securite: "politique-gouvernement",
"securite-defense": "politique-gouvernement",
social: "societe-vie-quotidienne",
sécurité: "politique-gouvernement",
} as const;
for (const [label, expectedSlug] of Object.entries(expectations)) {
const result = classifyCategory({ categories: [label], id: label }, Categories);
expect(result.category.slug).toBe(expectedSlug);
}
});
});