Skip to content

test(core): tambahkan unit test suite untuk helper setHead dan public exports #16

Description

@AlphaIsYour

1. Masalah (Problem)

Paket @alphaisyour/core\ saat ini belum memiliki file pengujian otomatis (\�itest). Ketika menjalankan \pnpm test, vitest melaporkan \No test files found\ untuk paket ini.

2. Mengapa Ini Penting (Why)

@alphaisyour/core\ adalah entry point publik utama yang mengekspor ulang API inti (\compile, \parse, \mount) dan menyediakan helper SEO \setHead. Tanpa pengujian, regresi pada ekspor publik atau helper \setHead\ dapat terjadi tanpa terdeteksi di CI.

3. Perilaku yang Diharapkan (Expected Behavior)

Terdapat file test di \packages/noalph-core/src/\ yang memverifikasi:

  1. Ekspor publik utama (\compile, \parse, \mount, \setHead) terdefinisi dengan benar.
  2. Fungsi \setHead\ berhasil memperbarui \document.title\ dan menambahkan meta tag serta favicon link di DOM.

4. Perilaku Saat Ini (Current Behavior)

Belum ada file test di dalam folder \packages/noalph-core/src/.

5. Pendekatan yang Disarankan (Possible Approach)

  1. Buka folder \packages/noalph-core/src/.
  2. Buat file \head.test.ts\ dengan test environment jsdom:
    • Panggil \setHead({ title: 'Test Title', meta: [{ name: 'description', content: 'Deskripsi Test' }] }).
    • Lakukan assertion: \expect(document.title).toBe('Test Title')\ dan verifikasi elemen meta di \document.head.
  3. Jalankan pengujian: \pnpm --filter=@alphaisyour/core test.

6. Kriteria Penerimaan (Acceptance Criteria)

  • File test \packages/noalph-core/src/head.test.ts\ dibuat.
  • Pengujian \pnpm --filter=@alphaisyour/core test\ berjalan dan lulus 100%.
  • Pengecekan tipe \pnpm typecheck\ lulus tanpa error.

7. Tingkat Kesulitan

  • Tingkat Kesulitan: Beginner (< 2 jam)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    good first issueCocok untuk kontributor pertama kalihelp wantedButuh bantuan komunitastestingPenambahan atau perbaikan unit/integration tests

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions