[QA] #533 언급 적은 식당 제외 필터 — 검증 통과, 회귀 테스트 추가
- 설계서(docs/design/533-min-mentions-filter/README.md) 대비 구현 일치 확인 (backend RestaurantMapper video_count/min_mentions, frontend 필터 UI) - dev API 실측: min_mentions 0/1/2/3/5/100 전 구간 경계 위반 0건 (=2→116개, =3→36개, DISTINCT+서브쿼리 중복 없음, 기존 필터 조합 회귀 없음) - passesMinMentions()를 lib/filters.ts로 추출(동작 변경 없음)하고 frontend/__tests__/filters.test.ts 6케이스 추가(경계값/null 처리 등) - 백엔드 빌드, tsc, 프론트 전체 jest(6 suites, 32 tests) 통과 Refs #533
This commit is contained in:
@@ -15,6 +15,7 @@ import MyReviewsList from "@/components/MyReviewsList";
|
||||
import BottomSheet from "@/components/BottomSheet";
|
||||
import FilterSheet, { FilterOption } from "@/components/FilterSheet";
|
||||
import { getCuisineIcon, getPhosphorCuisineIcon } from "@/lib/cuisine-icons";
|
||||
import { passesMinMentions } from "@/lib/filters";
|
||||
import Icon from "@/components/Icon";
|
||||
import FoodIcon from "@/components/FoodIcon";
|
||||
import * as PhosphorIcons from "@phosphor-icons/react";
|
||||
@@ -249,7 +250,7 @@ export default function Home() {
|
||||
if (channelFilter && !(r.channels || []).includes(channelFilter)) return false;
|
||||
if (cuisineFilter && !matchCuisineFilter(r.cuisine_type, cuisineFilter)) return false;
|
||||
if (priceFilter && !matchPriceGroup(r.price_range, priceFilter)) return false;
|
||||
if (minMentions > 0 && (r.video_count ?? 0) < minMentions) return false;
|
||||
if (!passesMinMentions(r.video_count, minMentions)) return false;
|
||||
if (countryFilter) {
|
||||
const parsed = parseRegion(r.region);
|
||||
if (!parsed || parsed.country !== countryFilter) return false;
|
||||
|
||||
Reference in New Issue
Block a user