From 1c26ce14e7f7ebe5d66352aabf7a60951d1ce70b Mon Sep 17 00:00:00 2001 From: Mikel Martin Date: Tue, 6 Feb 2024 16:35:33 +0100 Subject: [PATCH] Add unit test --- .github/workflows/main.yml | 139 +++++++++++++++++++------------------ Test/Unit/bootstrap.php | 20 ++++++ Test/Unit/phpunit.xml.dist | 8 +++ 3 files changed, 98 insertions(+), 69 deletions(-) create mode 100644 Test/Unit/bootstrap.php create mode 100644 Test/Unit/phpunit.xml.dist diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7954518..6363c83 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -56,32 +56,33 @@ jobs: ### Download our code in custom dir### - uses: actions/checkout@v3 with: - path: magento/app/code/Sequra/Core + path: magento/vendor/sequra/magento2-core - uses: "shivammathur/setup-php@v2" with: php-version: "8.2" - - name: 'Unit test' - working-directory: magento/app/code/Sequra/Core - env: - COMPOSER_AUTH: ${{ steps.composer_auth.outputs.auth }} - run: | - ../../../../vendor/bin/composer install - PAT="s/\/REAL-PATH-TO-MAGENTO-ROOT/..\/..\/..\/../g" - sed -e $PAT Test/autoload_sample.php > Test/autoload.php - ../../../../vendor/bin/phpunit -c Test/phpunit.xml Test/Unit - - # - name: 'launch magento2 unit test' - # if: always() - # uses: MAD-I-T/magento-actions@v3.25 + # - name: 'Unit test' + # working-directory: magento/app/code/Sequra/Core # env: # COMPOSER_AUTH: ${{ steps.composer_auth.outputs.auth }} - # with: - # process: 'unit-test' - # unit_test_subset_path: 'vendor/sequra/magento2-core/Test/Unit' - # override_settings: 1 - # magento_version: ${{ matrix.magento_version }} + # run: | + # ../../../../vendor/bin/composer install + # PAT="s/\/REAL-PATH-TO-MAGENTO-ROOT/..\/..\/..\/../g" + # sed -e $PAT Test/autoload_sample.php > Test/autoload.php + # ../../../../vendor/bin/phpunit -c Test/phpunit.xml Test/Unit + + - name: 'launch magento2 unit test' + if: always() + uses: MAD-I-T/magento-actions@v3.25 + env: + COMPOSER_AUTH: ${{ steps.composer_auth.outputs.auth }} + with: + process: 'unit-test' + unit_test_subset_path: 'vendor/sequra/magento2-core/Test/Unit' + unit_test_config: 'vendor/sequra/magento2-core/Test/Unit/phpunit.xml.dist' + override_settings: 1 + magento_version: ${{ matrix.magento_version }} # Integrations tests - name: "Run Integration tests" @@ -96,60 +97,60 @@ jobs: process: 'integration-test' unit_test_subset_path: "Sequra_Core Integration Tests" - magento2-checks: - runs-on: ubuntu-latest - container: ubuntu - name: 'm2 Standards, MD and PHPStan' - strategy: - matrix: - magento_version: [2.4.6] - steps: - ### Download our code in custom dir### - - uses: actions/checkout@v3 - with: - path: Sequra_Core + # magento2-checks: + # runs-on: ubuntu-latest + # container: ubuntu + # name: 'm2 Standards, MD and PHPStan' + # strategy: + # matrix: + # magento_version: [2.4.6] + # steps: + # ### Download our code in custom dir### + # - uses: actions/checkout@v3 + # with: + # path: Sequra_Core - - name: 'install fresh magento repo' - uses: MAD-I-T/magento-actions@v3.25 - env: - COMPOSER_AUTH: ${{secrets.COMPOSER_AUTH}} - with: - process: 'install-magento' - magento_version: ${{ matrix.magento_version }} - no_push: 1 ## add this arg to not push to the repo ideal for quick test on specific version + # - name: 'install fresh magento repo' + # uses: MAD-I-T/magento-actions@v3.25 + # env: + # COMPOSER_AUTH: ${{secrets.COMPOSER_AUTH}} + # with: + # process: 'install-magento' + # magento_version: ${{ matrix.magento_version }} + # no_push: 1 ## add this arg to not push to the repo ideal for quick test on specific version - - uses: "shivammathur/setup-php@v2" - with: - php-version: "8.2" - - name: 'unit test' - run: | - cd Sequra_Core - ../magento/vendor/bin/composer install - PAT="s/\/REAL-PATH-TO-MAGENTO-ROOT/..\/magento/g" - sed -e $PAT Test/autoload_sample.php > Test/autoload.php - ../magento/vendor/bin/phpunit -c Test/phpunit.xml Test/Unit + # - uses: "shivammathur/setup-php@v2" + # with: + # php-version: "8.2" + # - name: 'unit test' + # run: | + # cd Sequra_Core + # ../magento/vendor/bin/composer install + # PAT="s/\/REAL-PATH-TO-MAGENTO-ROOT/..\/magento/g" + # sed -e $PAT Test/autoload_sample.php > Test/autoload.php + # ../magento/vendor/bin/phpunit -c Test/phpunit.xml Test/Unit - - name: 'phpstan' - if: always() - uses: MAD-I-T/magento-actions@v3.25 - with: - process: 'phpstan' - exec_path: '../Sequra_Core' + # - name: 'phpstan' + # if: always() + # uses: MAD-I-T/magento-actions@v3.25 + # with: + # process: 'phpstan' + # exec_path: '../Sequra_Core' - - name: 'mess detector' - if: always() - uses: MAD-I-T/magento-actions@v3.25 - with: - process: 'mess-detector' - md_src_path: '../Sequra_Core' + # - name: 'mess detector' + # if: always() + # uses: MAD-I-T/magento-actions@v3.25 + # with: + # process: 'mess-detector' + # md_src_path: '../Sequra_Core' - - name: 'Magento coding standard checking' - if: always() - uses: MAD-I-T/magento-actions@v3.25 - with: - process: 'phpcs-test' - extension: 'Sequra_Core' - severity: 10 - standard: 'Magento2' + # - name: 'Magento coding standard checking' + # if: always() + # uses: MAD-I-T/magento-actions@v3.25 + # with: + # process: 'phpcs-test' + # extension: 'Sequra_Core' + # severity: 10 + # standard: 'Magento2' \ No newline at end of file diff --git a/Test/Unit/bootstrap.php b/Test/Unit/bootstrap.php new file mode 100644 index 0000000..bf74574 --- /dev/null +++ b/Test/Unit/bootstrap.php @@ -0,0 +1,20 @@ +addPsr4('SeQura\\Core\\Tests\\Infrastructure\\', __DIR__ . '/../../vendor/sequra/integration-core/tests/Infrastructure'); +$loader->addPsr4('SeQura\\Core\\Tests\\BusinessLogic\\', __DIR__ . '/../../vendor/sequra/integration-core/tests/BusinessLogic'); + +// Register the loader +$loader->register(); + +require __DIR__ . '/../../../../../app/bootstrap.php'; + +$bootstrap = Bootstrap::create(BP, $_SERVER); +$bootstrap->createApplication(Cron::class); diff --git a/Test/Unit/phpunit.xml.dist b/Test/Unit/phpunit.xml.dist new file mode 100644 index 0000000..2ce40e1 --- /dev/null +++ b/Test/Unit/phpunit.xml.dist @@ -0,0 +1,8 @@ + + + + + ./ + + + \ No newline at end of file