Skip to main content

๐Ÿš€ Docs Speed

Selamat datang di dokumentasi Docs Speed - solusi QA automation lengkap untuk testing API dan UI menggunakan Playwright dan TypeScript.

Apa itu Docs Speed?โ€‹

Docs Speed adalah suite QA automation yang komprehensif dirancang untuk menguji sistem dengan cakupan lengkap:

  • โœ… API Testing - Validasi endpoint, response schema, dan business logic
  • ๐ŸŽจ UI Testing - Automasi browser testing dengan semantic locators
  • ๐Ÿ” Multi-Domain - Support untuk moneysite, admin, auth, dan central services
  • ๐Ÿ“Š Enterprise Grade - Reusable helpers, fixtures, dan schema validation

Teknologi yang Digunakanโ€‹

  • Playwright - Modern testing framework untuk cross-browser automation
  • TypeScript - Type-safe test development dengan strict mode
  • pnpm - Fast package manager untuk dependency management
  • AJV - JSON schema validation untuk API responses

Quick Startโ€‹

1. Setup Environmentโ€‹

# Install dependencies
pnpm install

# Setup environment variables
# Konfigurasi BASE_URL, credentials, dan API endpoints

2. Menjalankan Testsโ€‹

# Jalankan semua tests
pnpm test

# UI mode - visual test runner
pnpm test:ui

# Lihat detailed report
pnpm report

3. Linting & Formattingโ€‹

# Check linting
pnpm lint:check

# Check formatting
pnpm prettier:check

Struktur Projectโ€‹

tests/
โ”œโ”€โ”€ api/ # API tests per domain
โ”‚ โ”œโ”€โ”€ moneysite/ # Player/Front-end API
โ”‚ โ”œโ”€โ”€ admin/ # Admin/Backoffice API
โ”‚ โ”œโ”€โ”€ auth/ # Authentication
โ”‚ โ””โ”€โ”€ central/ # Central services
โ””โ”€โ”€ ui/ # UI tests per domain

helpers/
โ”œโ”€โ”€ apiClient.ts # API request factory
โ”œโ”€โ”€ loginHelper.ts # Authentication helpers
โ”œโ”€โ”€ schemaValidator.ts # JSON schema validation
โ””โ”€โ”€ fnHelpers.ts # Utility functions

schemas/ # JSON schemas untuk API responses
fixtures/ # Test data & fixtures
output/ # API response snapshots

Fitur Utamaโ€‹

๐Ÿ”‘ Authenticationโ€‹

  • loginAsPlayer() - Login sebagai player dengan credentials
  • loginAsAdmin() - Login sebagai admin user

๐Ÿ“‹ API Testingโ€‹

  • Centralized API client dengan apiClient(baseURL)
  • Built-in schema validation dengan schemaValidator()
  • Response snapshot comparison
  • Support untuk berbagai content types

๐ŸŽฏ Custom Assertionsโ€‹

  • shouldBeOneOf() - Custom matcher untuk enum values
  • shouldMatch() - Pattern matching untuk responses
  • Advanced filtering dan sorting dengan fnHelpers

๐Ÿ“ˆ Test Data Generationโ€‹

  • Dynamic test data generation dengan generatorData
  • Reusable fixtures untuk common scenarios
  • Data-driven testing support

Dokumentasi Selanjutnyaโ€‹

Jelajahi dokumentasi kami untuk informasi lebih detail:

Kontribusi & Standardsโ€‹

Kami mengikuti standar kode yang ketat:

  • TypeScript Strict Mode - Type safety adalah prioritas
  • Semantic Locators - Prefer getByRole, getByLabel, getByText
  • Test Naming - โœ… untuk positive cases, โŒ untuk negative cases
  • DRY Principle - Extract reusable helpers jika ada duplication

Dukunganโ€‹

Untuk pertanyaan atau issues:

  1. Cek dokumentasi yang tersedia
  2. Review test examples di folder tests/
  3. Lihat existing helpers di folder helpers/

Happy Testing! ๐Ÿงช
Mari kita pastikan setiap feature bekerja sempurna dengan automation testing yang solid.