Skip to content

Commit c2c3ace

Browse files
davidagustinclaude
andcommitted
feat(ci): enable GitHub Actions CI pipeline and add E2E test scripts
Enable CI and PR check workflows by removing .disabled suffix. Add 12 new test:e2e:* package.json scripts for frontend-drills, regex, pattern-quiz, and interview specs. Fix Angular validator to skip setupCode pattern check for informational scaffolding. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent c5dc81a commit c2c3ace

File tree

4 files changed

+18
-5
lines changed

4 files changed

+18
-5
lines changed

lib/frontend-drills/validator.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,12 @@ export function validateFrontendDrillAnswer(
3030
problem.validPatterns &&
3131
problem.validPatterns.length > 0
3232
) {
33-
const patternResult = checkRequiredPatterns(
34-
userAnswer,
35-
problem.validPatterns,
36-
problem.setupCode,
37-
);
33+
// Pass empty setupCode so the "must use setup variables" check is
34+
// skipped. Angular setupCode is informational scaffolding (e.g.
35+
// `const template = '';`) that the answer never references — the
36+
// validPatterns already verify correctness. Syntax checking
37+
// (bracket balance) still runs because it doesn't depend on setupCode.
38+
const patternResult = checkRequiredPatterns(userAnswer, problem.validPatterns, '');
3839
if (patternResult) {
3940
return patternResult; // Failed pattern check
4041
}

package.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,18 @@
3939
"test:e2e:cpp-problems": "playwright test e2e/problems/cpp-problems.spec.ts",
4040
"test:e2e:csharp-problems": "playwright test e2e/problems/csharp-problems.spec.ts",
4141
"test:e2e:c-problems": "playwright test e2e/problems/c-problems.spec.ts",
42+
"test:e2e:frontend-drills": "playwright test e2e/frontend-drills/",
43+
"test:e2e:frontend-landing": "playwright test e2e/frontend-drills/landing.spec.ts",
44+
"test:e2e:frontend-hub": "playwright test e2e/frontend-drills/framework-hub.spec.ts",
45+
"test:e2e:frontend-drill": "playwright test e2e/frontend-drills/drill-mode.spec.ts",
46+
"test:e2e:frontend-quiz": "playwright test e2e/frontend-drills/quiz-mode.spec.ts",
47+
"test:e2e:frontend-training": "playwright test e2e/frontend-drills/training.spec.ts",
48+
"test:e2e:frontend-patterns": "playwright test e2e/frontend-drills/ui-patterns.spec.ts",
49+
"test:e2e:frontend-pattern-detail": "playwright test e2e/frontend-drills/ui-pattern-detail.spec.ts",
50+
"test:e2e:frontend-cheatsheet": "playwright test e2e/frontend-drills/cheatsheet.spec.ts",
51+
"test:e2e:regex": "playwright test e2e/regex-trainer.spec.ts",
52+
"test:e2e:pattern-quiz": "playwright test e2e/pattern-quiz.spec.ts",
53+
"test:e2e:interview": "playwright test e2e/interview.spec.ts",
4254
"viz:list": "tsx scripts/create-visualization-agent.ts list",
4355
"viz:next": "tsx scripts/create-visualization-agent.ts next",
4456
"viz:generate": "tsx scripts/create-visualization-agent.ts generate",

0 commit comments

Comments
 (0)