Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,13 @@ jobs:
run: |-
composer require --no-interaction --prefer-dist --no-progress "typo3/cms-core:${{ matrix.typo3-version }}" "typo3/cms-extbase:${{ matrix.typo3-version }}" "typo3/cms-frontend:${{ matrix.typo3-version }}"

- name: Build codeception tester
run: vendor/bin/codecept build

- name: Code Quality (by PHPStan)
run: vendor/bin/phpstan analyse -c Build/phpstan.neon

tests-acceptance:
test-php:
runs-on: ubuntu-latest
needs:
- coding-guideline
Expand Down Expand Up @@ -121,6 +124,17 @@ jobs:
- name: Run Functional Tests PHP8.4
run: nix-shell --arg phpVersion \"php84\" --pure --run project-test-functional

test-acceptance:
runs-on: ubuntu-latest
needs:
- test-php
steps:
- uses: actions/checkout@v3

- uses: cachix/install-nix-action@v17
with:
nix_path: nixpkgs=channel:nixos-unstable

- name: Run Acceptance Tests PHP8.2
run: nix-shell --arg phpVersion \"php82\" --pure --run project-test-acceptance

Expand Down
41 changes: 10 additions & 31 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,7 @@ cache:
- .php_cs.cache

variables:
COMPOSER_CACHE_DIR: ".composer"
TYPO3_PATH_WEB: "$CI_PROJECT_DIR/.build/public"
MYSQL_DATABASE: "typo3"
MYSQL_ROOT_PASSWORD: "joh316"
typo3DatabaseName: "typo3"
typo3DatabaseHost: "mysql"
typo3DatabaseUsername: "root"
typo3DatabasePassword: "joh316"
TYPO3_VERSION: ^13.4

before_script:
- apk add git --update
Expand Down Expand Up @@ -69,6 +62,7 @@ phpstan:analyse:
- composer config platform.php 8.2
- composer install --no-progress --no-ansi --no-interaction
script:
- vendor/bin/codecept build
- vendor/bin/phpstan analyse -c Build/phpstan.neon --memory-limit 256M

.test_php: &test_php
Expand All @@ -86,26 +80,20 @@ phpstan:analyse:
- vendor/bin/phpunit -c Build/UnitTests.xml
- typo3DatabaseDriver=pdo_sqlite vendor/bin/phpunit -c Build/FunctionalTests.xml

# Build in PHP 8.2 and TYPO3 13.4
test:php82:typo3_13:
test:php82:
<<: *test_php
variables:
CONTAINER_IMAGE: $CI_REGISTRY/containers/phpunit-with-php-8.2:main
TYPO3_VERSION: ^13.4

# Build in PHP 8.3 and TYPO3 13.4
test:php83:typo3_13:
test:php83:
<<: *test_php
variables:
CONTAINER_IMAGE: $CI_REGISTRY/containers/phpunit-with-php-8.3:main
TYPO3_VERSION: ^13.4

# Build in PHP 8.4 and TYPO3 13.4
test:php84:typo3_13:
test:php84:
<<: *test_php
variables:
CONTAINER_IMAGE: $CI_REGISTRY/containers/phpunit-with-php-8.4:main
TYPO3_VERSION: ^13.4

.test_codeception: &test_codeception
stage: test
Expand All @@ -131,33 +119,24 @@ test:php84:typo3_13:
expire_in: 1 day
when: always

# Build in PHP 8.2 and TYPO3 13.4
test:codception:php82:typo3_13:
codeception:php82:
<<: *test_codeception
variables:
CONTAINER_IMAGE: $CI_REGISTRY/containers/codeception-with-php-8.2:main
TYPO3_VERSION: ^13.4
GECKODRIVER_VERSION: v0.34.0

# Build in PHP 8.3 and TYPO3 13.4
test:codception:php83:typo3_13:
codeception:php83:
<<: *test_codeception
needs:
- test:codception:php82:typo3_13
- codeception:php82
variables:
CONTAINER_IMAGE: $CI_REGISTRY/containers/codeception-with-php-8.3:main
TYPO3_VERSION: ^13.4
GECKODRIVER_VERSION: v0.34.0

# Build in PHP 8.4 and TYPO3 13.4
test:codception:php84:typo3_13:
codeception:php84:
<<: *test_codeception
needs:
- test:codception:php83:typo3_13
- codeception:php83
variables:
CONTAINER_IMAGE: $CI_REGISTRY/containers/codeception-with-php-8.4:main
TYPO3_VERSION: ^13.4
GECKODRIVER_VERSION: v0.34.0

documentation:
stage: documentation
Expand Down
2 changes: 1 addition & 1 deletion Build/phpstan.neon
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ parameters:
- ../ext_emconf.php
- ../ext_localconf.php
excludePaths:
- ../Tests/Acceptance
- ../Tests/Acceptance/Support/_generated
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,9 @@ public function testAddDifferentItemsWithinAvailableAmountToCart(Tester $I): voi

$I->see('Item was added to cart.', '#product-6 .form-message .form-success');
$I->dontSeeElement('#product-6 .form-message .form-error');
$I->wait(3);

$I->dontSeeElement('#product-6 .form-message .form-success');
$I->dontSeeElement('#product-6 .form-message .form-error');
$I->waitForElementNotVisible('#product-6 .form-message .form-success');
$I->waitForElementNotVisible('#product-6 .form-message .form-error');

$I->fillField('tx_cart_cart[quantity]', 2);
$I->selectOption('tx_cart_cart[beVariants][1]', 'M - green');
Expand All @@ -44,10 +43,9 @@ public function testAddDifferentItemsWithinAvailableAmountToCart(Tester $I): voi

$I->see('2 Items were added to cart.', '#product-6 .form-message .form-success');
$I->dontSeeElement('#product-6 .form-message .form-error');
$I->wait(3);

$I->dontSeeElement('#product-6 .form-message .form-success');
$I->dontSeeElement('#product-6 .form-message .form-error');
$I->waitForElementNotVisible('#product-6 .form-message .form-success');
$I->waitForElementNotVisible('#product-6 .form-message .form-error');

$I->fillField('tx_cart_cart[quantity]', 4);
$I->selectOption('tx_cart_cart[beVariants][1]', 'XL - red');
Expand All @@ -56,10 +54,9 @@ public function testAddDifferentItemsWithinAvailableAmountToCart(Tester $I): voi

$I->see('4 Items were added to cart.', '#product-6 .form-message .form-success');
$I->dontSeeElement('#product-6 .form-message .form-error');
$I->wait(3);

$I->dontSeeElement('#product-6 .form-message .form-success');
$I->dontSeeElement('#product-6 .form-message .form-error');
$I->waitForElementNotVisible('#product-6 .form-message .form-success');
$I->waitForElementNotVisible('#product-6 .form-message .form-error');
}

public function testAddMoreItemsThanInStockOfASimpleProductToCart(Tester $I): void
Expand All @@ -80,10 +77,8 @@ public function testAddMoreItemsThanInStockOfASimpleProductToCart(Tester $I): vo
$I->dontSeeElement('#product-6 .form-message .form-success');
$I->see('Desired number of this item not available.', '#product-6 .form-message .form-error');

$I->wait(3);

$I->dontSeeElement('#product-6 .form-message .form-success');
$I->dontSeeElement('#product-6 .form-message .form-error');
$I->waitForElementNotVisible('#product-6 .form-message .form-success');
$I->waitForElementNotVisible('#product-6 .form-message .form-error');
}

public function testAddOneAndThanMoreItemsThanInStockOfASimpleProductToCart(Tester $I): void
Expand All @@ -103,10 +98,9 @@ public function testAddOneAndThanMoreItemsThanInStockOfASimpleProductToCart(Test

$I->see('Item was added to cart.', '#product-6 .form-message .form-success');
$I->dontSeeElement('#product-6 .form-message .form-error');
$I->wait(3);

$I->dontSeeElement('#product-6 .form-message .form-success');
$I->dontSeeElement('#product-6 .form-message .form-error');
$I->waitForElementNotVisible('#product-6 .form-message .form-success');
$I->waitForElementNotVisible('#product-6 .form-message .form-error');

$I->fillField('tx_cart_cart[quantity]', 5);
$I->selectOption('tx_cart_cart[beVariants][1]', 'XL - red');
Expand All @@ -116,9 +110,7 @@ public function testAddOneAndThanMoreItemsThanInStockOfASimpleProductToCart(Test
$I->dontSeeElement('#product-6 .form-message .form-success');
$I->see('Desired number of this item not available.', '#product-6 .form-message .form-error');

$I->wait(3);

$I->dontSeeElement('#product-6 .form-message .form-success');
$I->dontSeeElement('#product-6 .form-message .form-error');
$I->waitForElementNotVisible('#product-6 .form-message .form-success');
$I->waitForElementNotVisible('#product-6 .form-message .form-error');
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,31 +31,28 @@ public function testAddDifferentItemsToCart(Tester $I): void

$I->see('Item was added to cart.', '#product-5 .form-message .form-success');
$I->dontSeeElement('#product-5 .form-message .form-error');
$I->wait(3);

$I->dontSeeElement('#product-5 .form-message .form-success');
$I->dontSeeElement('#product-5 .form-message .form-error');
$I->waitForElementNotVisible('#product-5 .form-message .form-success');
$I->waitForElementNotVisible('#product-5 .form-message .form-error');

$I->fillField('tx_cart_cart[quantity]', 2);
$I->selectOption('tx_cart_cart[beVariants][1]', 'green');
$I->click('#product-5.add-to-cart-form input.btn[type="submit"]');

$I->see('2 Items were added to cart.', '#product-5 .form-message .form-success');
$I->dontSeeElement('#product-5 .form-message .form-error');
$I->wait(3);

$I->dontSeeElement('#product-5 .form-message .form-success');
$I->dontSeeElement('#product-5 .form-message .form-error');
$I->waitForElementNotVisible('#product-5 .form-message .form-success');
$I->waitForElementNotVisible('#product-5 .form-message .form-error');

$I->fillField('tx_cart_cart[quantity]', 100);
$I->selectOption('tx_cart_cart[beVariants][1]', 'red');
$I->click('#product-5.add-to-cart-form input.btn[type="submit"]');

$I->see('100 Items were added to cart.', '#product-5 .form-message .form-success');
$I->dontSeeElement('#product-5 .form-message .form-error');
$I->wait(3);

$I->dontSeeElement('#product-5 .form-message .form-success');
$I->dontSeeElement('#product-5 .form-message .form-error');
$I->waitForElementNotVisible('#product-5 .form-message .form-success');
$I->waitForElementNotVisible('#product-5 .form-message .form-error');
}
}
27 changes: 10 additions & 17 deletions Tests/Acceptance/AddSimpleProductWithStockHandlingToCartCest.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,20 +30,18 @@ public function testAddDifferentItemsWithinAvailableAmountToCart(Tester $I): voi

$I->see('Item was added to cart.', '#product-1 .form-message .form-success');
$I->dontSeeElement('#product-1 .form-message .form-error');
$I->wait(3);

$I->dontSeeElement('#product-1 .form-message .form-success');
$I->dontSeeElement('#product-1 .form-message .form-error');
$I->waitForElementNotVisible('#product-1 .form-message .form-success');
$I->waitForElementNotVisible('#product-1 .form-message .form-error');

$I->fillField('tx_cart_cart[quantity]', 2);
$I->click('#product-1.add-to-cart-form input.btn[type="submit"]');

$I->see('2 Items were added to cart.', '#product-1 .form-message .form-success');
$I->dontSeeElement('#product-1 .form-message .form-error');
$I->wait(3);

$I->dontSeeElement('#product-1 .form-message .form-success');
$I->dontSeeElement('#product-1 .form-message .form-error');
$I->waitForElementNotVisible('#product-1 .form-message .form-success');
$I->waitForElementNotVisible('#product-1 .form-message .form-error');
}

public function testAddMoreItemsThanInStockOfASimpleProductToCart(Tester $I): void
Expand All @@ -62,10 +60,8 @@ public function testAddMoreItemsThanInStockOfASimpleProductToCart(Tester $I): vo
$I->dontSeeElement('#product-1 .form-message .form-success');
$I->see('Desired number of this item not available.', '#product-1 .form-message .form-error');

$I->wait(3);

$I->dontSeeElement('#product-1 .form-message .form-success');
$I->dontSeeElement('#product-1 .form-message .form-error');
$I->waitForElementNotVisible('#product-1 .form-message .form-success');
$I->waitForElementNotVisible('#product-1 .form-message .form-error');
}

public function testAddOneAndThanMoreItemsThanInStockOfASimpleProductToCart(Tester $I): void
Expand All @@ -83,20 +79,17 @@ public function testAddOneAndThanMoreItemsThanInStockOfASimpleProductToCart(Test

$I->see('Item was added to cart.', '#product-1 .form-message .form-success');
$I->dontSeeElement('#product-1 .form-message .form-error');
$I->wait(3);

$I->dontSeeElement('#product-1 .form-message .form-success');
$I->dontSeeElement('#product-1 .form-message .form-error');
$I->waitForElementNotVisible('#product-1 .form-message .form-success');
$I->waitForElementNotVisible('#product-1 .form-message .form-error');

$I->fillField('tx_cart_cart[quantity]', 10);
$I->click('#product-1.add-to-cart-form input.btn[type="submit"]');

$I->dontSeeElement('#product-1 .form-message .form-success');
$I->see('Desired number of this item not available.', '#product-1 .form-message .form-error');

$I->wait(3);

$I->dontSeeElement('#product-1 .form-message .form-success');
$I->dontSeeElement('#product-1 .form-message .form-error');
$I->waitForElementNotVisible('#product-1 .form-message .form-success');
$I->waitForElementNotVisible('#product-1 .form-message .form-error');
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,29 +30,26 @@ public function testAddDifferentItemsToCart(Tester $I): void

$I->see('Item was added to cart.', '#product-2 .form-message .form-success');
$I->dontSeeElement('#product-2 .form-message .form-error');
$I->wait(3);

$I->dontSeeElement('#product-2 .form-message .form-success');
$I->dontSeeElement('#product-2 .form-message .form-error');
$I->waitForElementNotVisible('#product-2 .form-message .form-success');
$I->waitForElementNotVisible('#product-2 .form-message .form-error');

$I->fillField('tx_cart_cart[quantity]', 2);
$I->click('#product-2.add-to-cart-form input.btn[type="submit"]');

$I->see('2 Items were added to cart.', '#product-2 .form-message .form-success');
$I->dontSeeElement('#product-2 .form-message .form-error');
$I->wait(3);

$I->dontSeeElement('#product-2 .form-message .form-success');
$I->dontSeeElement('#product-2 .form-message .form-error');
$I->waitForElementNotVisible('#product-2 .form-message .form-success');
$I->waitForElementNotVisible('#product-2 .form-message .form-error');

$I->fillField('tx_cart_cart[quantity]', 100);
$I->click('#product-2.add-to-cart-form input.btn[type="submit"]');

$I->see('100 Items were added to cart.', '#product-2 .form-message .form-success');
$I->dontSeeElement('#product-2 .form-message .form-error');
$I->wait(3);

$I->dontSeeElement('#product-2 .form-message .form-success');
$I->dontSeeElement('#product-2 .form-message .form-error');
$I->waitForElementNotVisible('#product-2 .form-message .form-success');
$I->waitForElementNotVisible('#product-2 .form-message .form-error');
}
}
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
page = PAGE
page.10 < styles.content.get
page.10 < styles.content.get

plugin.tx_cartproducts {
view.partialRootPaths.1 = EXT:cart_products_test/Resources/Private/Partials/
}
Loading