Files
shopPRO/tests
Jacek Pyziak 431add234c ver. 0.283: Legacy class cleanup — S, Html, Email, Image, Log, Mobile_Detect → Shared namespace
- Migrate class.S → Shared\Helpers\Helpers (140+ files), remove 12 unused methods
- Migrate class.Html → Shared\Html\Html
- Migrate class.Email → Shared\Email\Email
- Migrate class.Image → Shared\Image\ImageManipulator
- Delete class.Log (unused), class.Mobile_Detect (outdated UA detection)
- Remove grid library loading from admin (index.php, ajax.php)
- Replace gridEdit usage in 10 admin templates with grid-edit-replacement.php
- Fix grid-edit-replacement.php AJAX to send values as JSON (grid.js compat)
- Remove mobile layout conditionals (m_html/m_css/m_js) from Site + LayoutsRepository
- Remove \Log::save_log() calls from OrderAdminService, ShopOrder, Order

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 23:06:06 +01:00
..

Testy shopPRO

Instalacja PHPUnit

Opcja 1: Przez Composer (zalecane)

composer install

Opcja 2: Ręcznie (jeśli nie masz Composera)

wget https://phar.phpunit.de/phpunit-9.phar
php phpunit-9.phar --version

Uruchamianie testów

Wszystkie testy

composer test
# lub
vendor/bin/phpunit

Konkretny plik

vendor/bin/phpunit tests/Unit/Domain/Product/ProductRepositoryTest.php

Z pokryciem kodu

composer test-coverage

Anatomia testu (AAA Pattern)

public function testGetQuantityReturnsCorrectValue()
{
    // Arrange - Przygotowanie
    $mockDb = $this->createMock(\medoo::class);
    $mockDb->method('get')->willReturn(42);
    $repository = new ProductRepository($mockDb);

    // Act - Wykonanie akcji
    $quantity = $repository->getQuantity(123);

    // Assert - Sprawdzenie wyniku
    $this->assertEquals(42, $quantity);
}

Najważniejsze asercje

$this->assertEquals(expected, actual);      // Równość wartości
$this->assertIsInt($value);                 // Typ
$this->assertNull($value);                  // Czy null
$this->assertTrue($condition);              // Czy prawda

Więcej: https://phpunit.de/documentation.html