From aad86756c38114c268345e1e859f5a152e192415 Mon Sep 17 00:00:00 2001 From: Dimas Saputra Date: Wed, 13 Sep 2023 10:58:37 +0700 Subject: [PATCH 1/2] add test --- .../report-generator/report-generator.test.ts | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/service/report-generator/report-generator.test.ts b/src/service/report-generator/report-generator.test.ts index 29b874f..594e33d 100644 --- a/src/service/report-generator/report-generator.test.ts +++ b/src/service/report-generator/report-generator.test.ts @@ -3,6 +3,21 @@ import ReportGenerator from "./report-generator"; import ReviewResult, {ReviewResultStatus} from "../../entities/review-result/course-submission-review/review-result"; import * as fs from "fs"; +function itShouldMeetAGRSReportSpec(report: any): void { + expect(report.submission_id).toBeDefined() + expect(typeof report.submission_id).toEqual('number') + expect(report.message).toBeDefined() + expect(typeof report.message).toEqual('string') + expect(report.rating).toBeDefined() + expect(typeof report.rating).toEqual('number') + expect(report.is_passed).toBeDefined() + expect(typeof report.is_passed).toEqual('boolean') + expect(report.is_draft).toBeDefined() + expect(typeof report.is_draft).toEqual('boolean') + expect(report.checklist_keys).toBeDefined() + expect(Array.isArray(report.checklist_keys)).toEqual(true) +} + describe('checklist id resolver test', () => { const reportGenerator = new ReportGenerator('./test/student/review-result/') @@ -29,6 +44,10 @@ describe('checklist id resolver test', () => { const result = JSON.parse(fs.readFileSync('./test/student/review-result/report.json').toString())[0] + // checking availability of property that used in auto grader runner (queue based) + itShouldMeetAGRSReportSpec(result) + + // checking correctness of checklist keys expect(result.checklist_keys).toEqual([ "project_have_correct_port", "project_have_correct_runner_script", @@ -38,6 +57,8 @@ describe('checklist id resolver test', () => { "api_can_update_book", "api_can_delete_book" ]) + + // checking correctness of message expect(result.message).toStrictEqual('

Hallo snder12, terima kasih telah sabar menunggu. Kami membutuhkan waktu untuk bisa memberikan feedback sekomprehensif mungkin kepada setiap peserta kelas. Dalam kesempatan ini ada  4 (empat) hal yang ingin kami sampaikan. 

Pertama, kami ingin mengucapkan selamat! Karena kamu telah menyelesaikan tugas submission dari kelas Belajar Membuat Aplikasi Back-End untuk Pemula. Jangan lihat bintang yang kamu raih, tapi lihat kemajuan yang sudah kamu capai. Ingat semua expert dahulu pemula. 

Kedua, kamu boleh bangga karena telah menyelesaikan submission sesuai dengan kriteria yang telah kami tentukan. Mumpung masih hangat semangatnya langsung lanjut kelas selanjutnya yaitu Architecting on AWS (Membangun Arsitektur AWS di Cloud) atau Belajar Fundamental Aplikasi Back-End

Ketiga, beberapa lulusan tidak tahu mereka memiliki akses kelas selamanya. Sebagai informasi kelas Dicoding selalu update sehingga memiliki perbedaan minimal 30% dari sejak kelas dirilis. Silakan mampir kembali untuk melihat materi saat kamu membutuhkan update

Keempat, karena sudah praktik langsung maka kamu sudah menguasai ilmu kelas dasar ini antara 75-90%. Salah satu cara agar meningkatkan penguasaan ilmu agar bisa lebih maksimal (>90%) adalah dengan memperbanyak latihan atau mengajarkan ilmu kepada orang lain.

Salah satu misi Dicoding adalah menyebarkan ilmu yang bermanfaat. Kami berusaha membangun kurikulum standar global dengan harapan agar developer Indonesia bisa menjadi jawara di negeri sendiri. Namun misi ini tidak akan tercapai tanpa kolaborasi dari kita semua.


Supaya aplikasimu menjadi lebih baik lagi, berikut beberapa catatan terkait submission kamu:


Silakan berkunjung ke academy discussion untuk mengasah penguasaan ilmu kamu dan membuat ilmu yang kamu dapatkan bisa semakin berkah dan bermanfaat dengan membantu kawan-kawan kita yang saat ini masih berjuang.

Terima kasih telah membantu misi kami. Kesuksesan developer Indonesia adalah energi bagi kami. Jika memiliki pertanyaan atau saran terkait kelas, silakan email ke academy@dicoding.com.


Salam

Dicoding Reviewer

') }); }) From 3df5473b7d070bc37bb56fecfefaeb03327fc98e Mon Sep 17 00:00:00 2001 From: Dimas Saputra Date: Wed, 13 Sep 2023 10:58:42 +0700 Subject: [PATCH 2/2] pass test --- src/service/report-generator/report-generator.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/service/report-generator/report-generator.ts b/src/service/report-generator/report-generator.ts index 262a5e6..dcc09cc 100644 --- a/src/service/report-generator/report-generator.ts +++ b/src/service/report-generator/report-generator.ts @@ -25,7 +25,9 @@ class ReportGenerator { message: this.getReviewMessageWithTemplate(reviewResult, autoReviewConfig), submission_path: submissionPath, checklist: reviewResult.checklist, - checklist_keys: this.getCompletedChecklist(reviewResult) + checklist_keys: this.getCompletedChecklist(reviewResult), + is_passed: isApproved, + is_draft: true, }; this.result.push(summary);