Skip to content
This repository was archived by the owner on Oct 22, 2025. It is now read-only.

Commit d36bcc9

Browse files
committed
fix: handle empty test results
1 parent 64f3af2 commit d36bcc9

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

src/lib/backendSchemas.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ export interface SubmissionResultData {
7676
code: string;
7777
message: string;
7878
created_at: string;
79-
test_results: TestResultData[];
79+
test_results: TestResultData[] | null;
8080
}
8181

8282
interface ApiResponse {

src/lib/index.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,10 @@ export function get_submission_status_color(status: string) {
2222
}
2323

2424
export function get_submission_passed_color(result: SubmissionResultData | null) {
25-
if (result === null) {
25+
if (!result) {
2626
return 'bg-white';
27+
} else if (!result.test_results) {
28+
return 'bg-red-200';
2729
} else if (result.test_results.every((test) => test.passed)) {
2830
return 'bg-green-200';
2931
} else if (result.test_results.some((test) => !test.passed)) {
@@ -34,8 +36,10 @@ export function get_submission_passed_color(result: SubmissionResultData | null)
3436
}
3537

3638
export function get_submission_passed_text(result: SubmissionResultData | null) {
37-
if (result === null) {
39+
if (!result) {
3840
return '-';
41+
} else if (!result.test_results) {
42+
return '0/0';
3943
} else {
4044
const countPassed = result.test_results.filter((test) => test.passed).length;
4145
const countTotal = result.test_results.length;

0 commit comments

Comments
 (0)