Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
a4e4989
Fix tests
indykoning Jul 8, 2026
aff364f
Apply fixes from Prettier
indykoning Jul 8, 2026
f1fb33e
[CI] Update Snapshots
indykoning Jul 8, 2026
dce0b30
Temporarily disable 2.4.9 tests
indykoning Jul 8, 2026
fd0829d
[CI] Update Snapshots
indykoning Jul 8, 2026
5f13aa8
Add graycore cors
indykoning Jul 13, 2026
a5e6b92
Re-added other versions
indykoning Jul 13, 2026
9043d91
[CI] Update Snapshots
indykoning Jul 13, 2026
473a891
Replaced timeouts with idle wait
indykoning Jul 13, 2026
a3879f2
Merge branch 'bugfix/tests' of github.com:rapidez/core into bugfix/tests
indykoning Jul 13, 2026
67c02b6
Apply fixes from Prettier
indykoning Jul 13, 2026
b3a4c57
Fix category tests, block product id on screenshot
indykoning Jul 14, 2026
33305fe
Merge branch 'bugfix/tests' of github.com:rapidez/core into bugfix/tests
indykoning Jul 14, 2026
4614a96
Apply fixes from Prettier
indykoning Jul 14, 2026
b71b843
[CI] Update Snapshots
indykoning Jul 14, 2026
f08505f
Merge branch 'master' into bugfix/tests
indykoning Jul 14, 2026
f5b30c1
Merge branch 'master' into bugfix/tests
indykoning Jul 22, 2026
caa4a24
[CI] Update Snapshots
indykoning Jul 22, 2026
ee44639
Raise specificity for add-to-cart selector
indykoning Jul 22, 2026
301ef1b
Removed specificity, added idle wait
indykoning Jul 22, 2026
3f988fd
[CI] Update Snapshots
indykoning Jul 22, 2026
307cf8d
More idle waits, no idlecallback for safari
indykoning Jul 22, 2026
e05106e
Merge branch 'bugfix/tests' of github.com:rapidez/core into bugfix/tests
indykoning Jul 22, 2026
a9f1503
Apply fixes from Prettier
indykoning Jul 22, 2026
633a977
[CI] Update Snapshots
indykoning Jul 22, 2026
353f40f
[CI] Update Snapshots
rapidez-actions Jul 22, 2026
bd961d0
Merge branch 'master' into bugfix/tests
indykoning Jul 27, 2026
ab863c1
[CI] Update Snapshots
indykoning Jul 27, 2026
b0f77cd
[CI] Update Snapshots
github-actions[bot] Jul 27, 2026
b867b2a
[CI] Update Snapshots
github-actions[bot] Jul 28, 2026
6fa943b
Fix screenshots, attempt to help caching
indykoning Jul 28, 2026
4510231
Apply fixes from Prettier
indykoning Jul 28, 2026
7c0b26a
[CI] Update Snapshots
indykoning Jul 28, 2026
40e2f2f
Wait until emit is available
indykoning Jul 28, 2026
4b9895d
Switch waits
indykoning Jul 28, 2026
6bc7a1c
Remove idle wait
indykoning Jul 28, 2026
8a4e5fb
Wait on correct page
indykoning Jul 28, 2026
7f84d3a
Use devtools throttling method
indykoning Jul 28, 2026
98cb1c5
Fix console error with missing product ids for product list
indykoning Jul 28, 2026
b8710bf
Apply fixes from Duster
indykoning Jul 28, 2026
6e95c94
[CI] Update Snapshots
indykoning Jul 28, 2026
970a31b
Lower performance
indykoning Jul 28, 2026
b0ce8d1
Merge branch 'master' into bugfix/tests
indykoning Jul 28, 2026
9b12ee8
Reset snapshots
indykoning Jul 28, 2026
f82315e
Merge branch 'bugfix/tests' of github.com:rapidez/core into bugfix/tests
indykoning Jul 28, 2026
565f00f
[CI] Update Snapshots
indykoning Jul 28, 2026
1f0fabc
[CI] Update Snapshots
github-actions[bot] Jul 28, 2026
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
2 changes: 1 addition & 1 deletion .github/workflows/playwright.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
env:
URL: http://localhost:1234/
FLAT_TABLES: true
CUSTOM_ENTRYPOINT_COMMAND: "php bin/magento encryption:key:change -k 5AM3SD5SkwT8iwIxL6L1q8XQhzK3wk51; magerun2 config:store:set system/smtp/disable 1; magerun2 config:store:set checkout/options/enable_guest_checkout_login 1; magerun2 config:store:delete design/head/includes"
CUSTOM_ENTRYPOINT_COMMAND: 'php bin/magento encryption:key:change -k 5AM3SD5SkwT8iwIxL6L1q8XQhzK3wk51; magerun2 config:store:set system/smtp/disable 1; magerun2 config:store:set checkout/options/enable_guest_checkout_login 1; magerun2 config:store:delete design/head/includes; composer require graycore/magento2-cors; magerun2 module:enable Graycore_Cors; magerun2 config:store:set web/graphql/cors_allowed_origins "*"; magerun2 config:store:set web/graphql/cors_allowed_methods "POST, OPTIONS, GET"; magerun2 config:store:set web/graphql/cors_allowed_headers "Content-Currency, Store, X-Magento-Cache-Id, X-Captcha, Content-Type, Authorization, DNT, TE"; magerun2 config:store:set web/api_rest/cors_allowed_origins "*"'
ports:
- 3307:3306
- 1234:80
Expand Down
4 changes: 3 additions & 1 deletion resources/views/components/input/input.blade.php
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
<x-blade-components::input v-bind:disabled="loading.value" />
<x-blade-components::input {{ $attributes->merge([
'v-bind:disabled' => 'loading.value',
]) }} />
4 changes: 1 addition & 3 deletions resources/views/listing/partials/pagination.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,7 @@ class="flex justify-center items-center size-9 rounded-sm border hover:border-em
v-on:click.exact.left.prevent="refine(page)"
v-bind:aria-label="`{{ __('Page') }} ${page + 1}`"
class="flex items-center justify-center size-9 sm:size-10 rounded-sm border hover:border-emphasis"
>
@{{ page + 1 }}
</a>
>@{{ page + 1 }}</a>
</li>
<li v-if="!isLastPage && currentRefinement !== nbPages - 2 && currentRefinement !== nbPages - 3" class="flex items-center text-muted max-sm:text-xs">
...
Expand Down
30 changes: 17 additions & 13 deletions resources/views/product/overview.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,13 @@
<div class="mb-2 border-t pt-5 text-lg font-bold">@lang('Specifications')</div>
<dl class="flex flex-col text-muted *:rounded-sm *:p-2 *:odd:bg *:odd:font-semibold *:odd:text *:even:pl-4">
<dt>ID</dt>
<dd>{{ $product->entity_id }}</dd>
<dd data-attribute="id">{{ $product->entity_id }}</dd>
<dt>SKU</dt>
<dd>{{ $product->sku }}</dd>
<dd data-attribute="sku">{{ $product->sku }}</dd>
@foreach (\Rapidez\Core\Models\EavAttribute::getCachedCatalog()->where(fn ($attribute) => $attribute->is_visible_on_front) as $attribute)
@if (($value = $product->label($attribute['attribute_code'])))
<dt>{{ $attribute['frontend_label'] }}</dt>
<dd>{!! $value !!}</dd>
<dd data-attribute="{{ $attribute['attribute_code'] }}">{!! $value !!}</dd>
@endif
@endforeach
</dl>
Expand All @@ -64,16 +64,20 @@

@if ($product->relationProducts->count() || $product->upsells->count())
<div class="container flex flex-col gap-5 mt-14">
<x-rapidez::productlist
title="Related products"
field="entity_id"
:value="$product->relationProducts->pluck('linked_product_id')"
/>
<x-rapidez::productlist
title="We found other products you might like!"
field="entity_id"
:value="$product->upsells->pluck('linked_product_id')"
/>
@if (count($ids = $product->relationProducts->pluck('linked_product_id')))
<x-rapidez::productlist
title="Related products"
field="entity_id"
:value="$ids"
/>
@endif
@if (count($ids = $product->upsells->pluck('linked_product_id')))
<x-rapidez::productlist
title="We found other products you might like!"
field="entity_id"
:value="$ids"
/>
@endif
</div>
@endif

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions tests/playwright/category.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ test('category pagination', BasePage.tags, async ({ page }) => {
await page.goto(process.env.CATEGORY_URL_SIMPLE)
await expect(page.getByTestId('listing-item')).toHaveCount(12)
const firstProductPage1 = await page.getByTestId('listing-item').first().textContent()
await page.getByTestId('pagination').scrollIntoViewIfNeeded()
await page.getByTestId('pagination').getByRole('link', { name: '2' }).click()
await page.waitForLoadState('networkidle')
const firstProductPage2 = await page.getByTestId('listing-item').first().textContent()
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 2 additions & 7 deletions tests/playwright/checkout.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,15 @@ checkoutTypes.forEach((type) => {
const checkoutPage = new CheckoutPage(page, type)

await productPage.addToCart(process.env.PRODUCT_URL_SIMPLE)
await checkoutPage.checkout(`wayne+${crypto.randomUUID()}@enterprises.com`, false, false, [
'login',
'credentials',
'payment',
'success',
])
await checkoutPage.checkout(`${crypto.randomUUID()}@enterprises.com`, false, false, ['login', 'credentials', 'payment', 'success'])
})

test(type + ' - as user', BasePage.tags, async ({ page }) => {
const productPage = new ProductPage(page)
const checkoutPage = new CheckoutPage(page, type)
const accountPage = new AccountPage(page)

const email = `wayne+${crypto.randomUUID()}@enterprises.com`
const email = `${crypto.randomUUID()}@enterprises.com`
const password = 'IronManSucks.91939'

// Register
Expand Down
Loading
Loading