Testing Status: LIVE – Completed

Pre-Launch E2E QA Report

Completed comprehensive end-to-end manual QA of the live Shopify store across all critical customer journeys on desktop and mobile devices. All identified issues have been logged as separate Jira tickets with supporting evidence, and the store has been validated against the defined testing scope, DWSC-24.

Project Dragons Of Walton Street – CSP Reporter Twinkle Janbandhu / Mahima Soni Environment Live Production Report Date
0
Tickets created
0+
Defects Identified
0
Launch blockers
0/14
Resolved to date
Sign-off status

Testing sessions 1, 2 & 3 – full findings

Overall resolution progress0%
Unresolved – 14 In review – 0 Resolved – 0
Priority read

Eight defects should stop the launch

Everything else is a polish pass. These are functional failures that either break revenue, break trust, or break the login itself.

!

Product cards don't navigate on first click

On PLP and search pages, clicking a product card once only triggers the CSS hover image state. A second click is required to navigate to the PDP. This is a critical UX failure – particularly on mobile – that prevents customers from reaching product pages normally. See DWSC-41.

!

Filter colour options are missing and return wrong results

The colour Blue is entirely absent from the filter options despite blue products existing. Applying the Pink filter returns only one product when multiple matches exist. Filter logic is broken at the data level. See DWSC-42.

!

Authentication is not usable

Customers can complete a first login, then can never log in again. "My Account" reports logged-out while a session is active, registration doesn't redirect, and forgot-password is broken. See DWSC-37.

!

Trade accounts can't be created

The "Create a Trade Account" link has # as its href in the footer – it goes nowhere. B2B customers have no path to registration. See DWSC-34.

!

Mini cart shows the wrong product variant

Configurable products don't reliably reflect the variant selected once they land in the cart drawer. No validation message when stock is exceeded. Order accuracy is at risk. See DWSC-36.

!

Product pages intermittently return 500 errors

Helicopter Bed and Vintage Car Bed pages return server errors on some loads – a dead end for any customer who lands there. See DWSC-33.

!

FAQ page is showing raw code, not copy

Localisation keys like faqs.title and faqs.expandAll are rendering on the live page instead of their translated text. See DWSC-38.

!

Test product is visible on the live store

A test product is publicly accessible at /product/test. All test content must be removed before go-live. See DWSC-40.

Full docket

All tickets, at a glance

Every ticket relates back to DWSC-24 – Pre-Launch E2E QA, currently marked LIVE - IN TEST. DWSC-43 is an Improvement type (UX enhancement), all others are Bugs.

ID Area Priority Severity Status
31
DWSC-31 · BUG · NORMAL

Mega Menu

Five separate issues in one navigation component – typography, alignment, colour and hover behaviour all drift from spec.

● Actual
  • Header font renders light grey – poor visibility
  • Dropdown arrows misaligned with menu text
  • Hovering one item turns all submenu items black
  • Switching categories snaps instantly with no transition
  • No hover effect on the currently open mega menu item
● Expected
  • High-contrast black header text
  • Arrows vertically aligned to their label
  • Only the hovered item goes black; others fade to grey
  • ~100–150ms hover delay smooths category switching
  • Clear visual highlight on the active menu item
01

Header typography lacks contrast

The mega menu header font is displayed in light grey, resulting in poor visibility against the background.

02

Dropdown arrows are misaligned

Dropdown arrows are not properly aligned with the corresponding menu text.

03

Hover state highlights all items

When hovering over a single menu item, all submenu items turn black rather than isolating the hovered one.

04

Category switching has no transition

Moving between categories snaps instantly with no smoothing. A 100–150ms delay should be introduced to prevent flicker on fast mouse movements.

05

No active indicator on currently open item

The currently open mega menu provides no hover effect, making it difficult to identify the active selection.

32
DWSC-32 · BUG · HIGH

Homepage

Ten sub-issues across five homepage sections - hero banner, header, Dragons Collections carousel, Loved by Little Dreamers, Artfully Constructed, As Seen In, and footer - including one revenue-impacting broken link.

!

Create a Trade Account - broken destination

The link resolves dynamically to the current page URL instead of a fixed registration target. B2B customers cannot register a trade account.

01

Hero Banner - CTA too close to edges on mobile; text overflows in FR locale

Actual: The CTA button is placed too close to banner edges on mobile. In French (FR), the longer translated text overflows the button container, breaking the UI.

Expected: CTA button has consistent safe-area padding on all viewports. Translated text is accommodated without overflow in all supported locales (EN, FR, ES). Hero banner should use responsive image format (e.g. <picture> tag) to serve correctly sized assets for mobile vs desktop.

02

Header - font inconsistency across nav items; logo has no hover effect

Actual: The header navigation uses inconsistent font sizes across different menu items. The brand logo does not display a hover/focus effect, making it feel non-interactive despite being a clickable link.

Expected: Consistent font styling applied to all navigation items in the header. Logo should display a subtle hover state (e.g. opacity shift or underline) to communicate interactivity. The layout for header links should ensure uniform typographic scale.

03

Dragons Collections - carousel requires two clicks; images oversized

Actual: Navigation arrows on the Dragons Collections carousel require two clicks before the carousel advances. Collection images are oversized, creating excessive white space between carousel items.

Expected: Single click advances the carousel immediately. Collection images sized proportionally to maintain a balanced, visually consistent rhythm across all carousel slides.

04

Loved by Little Dreamers - text misalignment, FR overflow, hidden View All, category links open same tab

Actual: The text block does not align with image gallery edges. Category links overflow in FR locale. "View All" CTA is hidden on mobile viewports. Category links within this section open in the same tab, navigating the user away from the homepage without preserving their browsing context.

Expected: Text aligned to gallery edges. Locale-safe link labels with no overflow in any supported language. "View All" visible and tappable on all screen sizes. Category links within the "Loved by Little Dreamers" section should open in a new tab so the user can explore categories without losing their homepage position.

05

Artfully Constructed - heading size inconsistency; layout alignment imbalance

Actual: Section heading size is inconsistent with the rest of the site. Left column content is right-aligned while right column content is left-aligned - layout feels unbalanced. Section numbers render as superscript rather than inline text.

Expected: Heading size matches site-wide typographic scale. Content alignment follows consistent column logic (e.g. left-aligned across both columns). Section numbers styled as inline body text.

06

As Seen In - media logos not linked; section heading size mismatch

Actual: Press/media logos in the "As Seen In" section are not linked to the corresponding publications or press articles. The section heading size does not match the typographic scale used across the rest of the website.

Expected: Each media logo links to the corresponding press article or publication in a new tab. Section heading size matches the site-wide typographic scale.

07

Footer newsletter - confirmation box styling disconnected from footer background

Actual: The newsletter subscription confirmation message appears inside a darker blue box that is visually disconnected from the soft-blue footer background. The "Thanks for subscribing!" message renders in a very large, bold font competing with the footer heading.

Expected: Confirmation message styled consistently with the footer component. Copy uses an appropriate font size and weight that complements the footer design without overpowering the primary heading.

08

Create a Trade Account - link resolves to current page URL

Actual: The "Create a Trade Account" link resolves dynamically to the current page URL instead of a fixed trade registration destination. Clicking it from any page navigates to that same page.

Expected: Link navigates to a fixed trade account registration page. B2B customers should have a clear, functional path to sign up regardless of which page they are on.

09

Mobile - promotional banners stack vertically; excessive page height

Actual: On mobile, promotional homepage banner elements render as stacked static images, adding excessive page height and requiring heavy scrolling to view all promotions.

Expected: Promotional banners should be redesigned into a clean, horizontally swipeable carousel component with clear pagination or touch indicators on mobile to save vertical space and improve interaction.

10

Mobile footer - scroll animation speed excessively fast; links cut off

Actual: On Android Chrome and iOS Safari, the automated marquee/scrolling animation in the footer moves at an excessively high speed, cutting links off mid-display and creating jarring visual jitter.

Expected: Animation velocity reduced to a smooth, non-disruptive speed. All content remains readable as it scrolls. Speed should pass baseline accessibility motion guidelines (WCAG 2.3.3).

35
DWSC-35 · BUG · NORMAL

Product Page

Multiple issues concentrated in the accordion component – inconsistent iconography, excessive nesting, and a noticeable lag on collapse.

01

Image gallery is missing a zoom-out icon

The gallery displays only the plus (+) icon; the minus (–) icon is missing, so the zoom state is unclear.

02

Navigation arrows remain active at first/last item

The Previous arrow remains active when the first item is reached. The Next arrow remains active when the last item is reached. Both should be disabled at their respective limits.

03

Accordion iconography contradicts itself

The "Flannel" accordion is expanded but shows an X icon, while nested options like "Navy Blue" show a + icon – inconsistent iconography implying the wrong hierarchy.

04

Fabric details are nested too deep

Reaching a fabric description requires clicking through Materials & Care → Flannel → Sand – three levels for content that should be flattened into tabs with a simple colour list.

05

Accordion collapse is delayed

Expand/collapse behaviour has a noticeable pause before fully closing.

06

Made to Match has no navigation controls

Navigation arrows are missing for browsing related products. The section becomes disproportionately large when few related products are available.

36
DWSC-36 · BUG · URGENT

Mini Cart

Five issues: variant mismatch, cramped scrollbar, non-clickable product links, missing stock validation, and an incomplete hover transition on the Continue to Checkout CTA. Priority: Urgent.

!

Variant mismatch in the cart drawer

The configurable product shown in the mini cart doesn't always match the size, colour, or variant the customer actually selected. Reproduced with Chenille White on /product/girafe-pouf and Jersey Orange Astre on /product/little-one-chair.

01

Variant mismatch - cart shows wrong configuration after adding product

Actual: The configurable product displayed in the mini cart does not always match the selected configuration. Reproduced: add Girafe Pouf (Chenille White) to cart - mini cart may show a different variant. Add Little One Chair (Jersey Orange Astre) - same mismatch occurs.

Expected: The mini cart should correctly display the exact selected configuration (size, colour, or variant) of the added product at all times.

02

Scrollbar too close to product content - cramped layout

Actual: The scrollbar is positioned very close to the product content, making the UI feel cramped and visually unbalanced. Content and scrollbar overlap in the available space.

Expected: Adequate spacing maintained between the scrollbar and content to improve readability and visual clarity.

03

Product title and image not clickable - no link to PDP

Actual: The product title and product image in the mini cart are not clickable and do not redirect to the corresponding product detail page.

Expected: The product title and product image should be clickable and redirect users to the respective product detail page in the same or new tab.

04

No stock validation - quantity can be increased beyond available inventory

Actual: No validation or error message is displayed when the user increases the quantity beyond the available stock. Users can add quantities that exceed inventory without any feedback.

Expected: An accurate stock/inventory message should be displayed when the requested quantity exceeds the available stock. Quantity input should cap at the available limit or display an inline error.

05

"Continue to Checkout" button - hover transition incomplete/partially visible

Actual: The "Continue to Checkout" button in the mini cart does not display its hover state correctly. When hovered, the transition is incomplete, resulting in the hover effect being only partially visible - the animation does not complete its cycle.

Expected: When hovered, the "Continue to Checkout" button transition should complete fully and consistently. The hover state should match the button styling system used across the rest of the site.

37
DWSC-37 · BUG · URGENT

Account

Extensive authentication and account section issues - login loop, registration redirect failure, activation flow broken, forgot password not working, plus logged-in section issues across order history, address book, lovelist, and Buy Now.

!

Customers can't log in after initial login - persistent login loop

Existing accounts can complete a first login, then fail every subsequent attempt. "My Account" shows them as logged-out even when a session is active, creating a login loop. This blocks all post-purchase account management.

01

Registration - no redirect to account after sign-up

Actual: After successful registration, the user is not redirected to the account section. The page remains on the registration screen with no confirmation or next-step indication.

Expected: User should be redirected to their account dashboard, or shown a clear confirmation message with account activation instructions and a next-step CTA.

02

Account activation link - redirects to Shopify OTP page instead of activating

Actual: The account activation email link redirects to the default Shopify OTP/login page instead of directly activating the account and logging the user in.

Expected: The activation link should activate the account, sign the user in automatically, and redirect to the account dashboard - without a secondary login step or loop.

03

Login loop - navigating to homepage causes apparent logout

Actual: After completing login, navigating to the homepage and then back to the account page redirects the user back to the login page. Session state appears to drop during navigation.

Expected: Authenticated users remain logged in across all navigation. Session should persist until explicit logout or token expiry.

04

Forgot password - reset flow not functioning

Actual: The forgot password flow is not functioning - users cannot receive a reset email or successfully reset their password. Password recovery is completely broken.

Expected: Entering a registered email address triggers a password reset email. The reset link sets a new password and logs the user in without a loop.

05

Order history - orders not displaying or pagination broken

Actual: When logged in and navigating to the order history section, past orders are either not displayed or the section is blank. Pagination controls (if present) do not function correctly.

Expected: All past orders are listed chronologically with order number, date, status, and item count. Each order is expandable to show line items, shipping address, and tracking information.

06

Address book - saved addresses not pre-filling at checkout

Actual: Addresses saved in the account address book do not auto-populate the shipping address fields at checkout for logged-in users. The address book section itself may also show blank or incomplete address records.

Expected: Saved addresses are displayed in the account address book. At checkout, the default address pre-fills the shipping form. Users can select from saved addresses via a dropdown.

07

Lovelist / Wishlist - items not persisting across sessions

Actual: Products added to the Lovelist/Wishlist do not persist after the user logs out and logs back in. The Lovelist appears empty on subsequent sessions even when items were saved.

Expected: Lovelist items persist across sessions when the user is logged in. Items saved to the list are retrievable on any device when the same account is used.

08

Buy Now - button state and behaviour inconsistent

Actual: The "Buy Now" button behaviour is inconsistent across product types. On some PDPs it bypasses the cart and goes directly to checkout; on others it adds to cart instead. The button state (enabled/disabled) does not always reflect variant selection status.

Expected: "Buy Now" consistently skips the cart and navigates directly to checkout with the selected variant pre-loaded. The button should be disabled until a complete variant selection is made.

38
DWSC-38 · BUG · NORMAL

Informational Pages

Multiple UI/UX inconsistencies across About Us, Contact Us, Bespoke Beds, Concierge Service, FAQ, and legal pages – including raw localisation keys live on the site.

!

FAQ page shows raw localisation keys

Placeholder keys such as faqs.title and faqs.expandAll are displayed instead of user-friendly text. The page styling also appears incomplete.

01

About Us – timeline content overlaps on scroll

Actual: When scrolling stops between sections, timeline content overlaps and is difficult to read. The timeline does not snap to the nearest story.

Expected: Content should snap smoothly, with only one story fully visible at a time.

02

Contact Us – Discover button has no hover effect

Actual: The Discover button displays no hover effect, inconsistent with other interactive buttons on the site.

Expected: Hover effect consistent with other buttons across the website.

03

Bespoke Beds – oversized text, missing carousel arrows, unbalanced images

Actual: Some text renders at an excessively large size. The "Crafted For Imagination" carousel has no navigation arrows. Images are oversized. Navigation arrows on bespoke bed pages remain active at the first/last item.

Expected: Appropriate typography sizing; carousel navigation arrows; arrows disabled at limits; proportionally sized images.

04

Concierge Service – content alignment imbalance

Actual: The "Contact Us" header and the blue contact block are pulled to the left column, leaving an empty void across the right side of the viewport.

Expected: Content should be consistently aligned throughout the layout.

05

FAQ – raw localisation keys, incomplete styling, uneven spacing

Actual: Placeholder keys faqs.title and faqs.expandAll visible. Page styling appears incomplete. Spacing is uneven throughout.

Expected: Correct production styling; placeholder keys replaced with intended copy; consistent spacing.

06

Legal pages – large empty space above title

Pages affected: Shipping & Delivery, Returns, Terms & Conditions, Privacy Policy.

Actual: A large amount of empty white space appears above the page title before the main content begins.

Expected: Consistent top spacing across all legal pages.

39
DWSC-39 · BUG · HIGH

Header & Localization - Incomplete FR and ES Translations

Two compound issues: (1) selecting FR or ES from the header language switcher leaves the majority of site content in English - a partial translation creates a mixed-language experience across all pages. (2) No direct "Contact" or "Concierge" link is visible in the header - contact is only reachable via the footer.

!

Selecting FR or ES only partially translates the storefront

After switching to French (FR) or Spanish (ES) via the header language selector, a large portion of website content - navigation blocks, homepage banners, collection grids, structural elements - remains displayed in English. This partial translation creates an inconsistent, mixed-language experience across the storefront. Reference video: DWSC-39-1.mp4.

01

FR/ES language switch - most site content remains in English

Actual: After selecting French (FR) or Spanish (ES) from the header language switcher, a large portion of the website content remains displayed in English. Navigation trees, static blocks, button labels, headings, forms, and homepage banners fail to translate. This creates a mixed-language experience on every page.

Expected: Selecting FR or ES from the header language switcher must successfully translate all supported frontend elements, including navigation trees, static blocks, button labels, headings, forms, and core copy. The storefront must maintain a consistent, fully localised experience per language view without rendering mixed-language content strings on the same page layout.

02

Header contains no direct "Contact" link - only reachable via footer or /contact URL

Actual: The header contains: nav items (Nursery, Kids Room, Playroom, Bespoke Beds, Accessories & Essentials), EN language, Search, Account, and Cart icons. No direct "Contact" link is visible in the header. Contact is only reachable via the footer or by navigating manually to /contact.

Expected: For a luxury bespoke furniture brand where customer service is paramount, a "Contact" or "Concierge" link in the header navigation or utility bar is strongly recommended. This is a key trust signal and conversion support element for high-value purchase decisions.

40
DWSC-40 · BUG · HEIGH

General Site Issues

Two cross-site issues: mobile hover states persist on tap (desktop styles applied to touch events) and a non-production test product is publicly accessible on the live store.

!

Test product visible on the live store

A test product is publicly accessible at dragonsofwaltonstreet.com/product/test. All test products and placeholder data must be removed or disabled before go-live.

01

Mobile - hover effects persist on tap; desktop styles applied to touch events

Actual: On mobile devices, tapping images triggers a hover/overlay effect. Buttons and links display a desktop hover effect (colour change, underline, shadow) on tap. These desktop-style hover states linger momentarily after the tap, creating a confusing and visually inconsistent experience on touch devices.

Expected: Hover effects should be removed from buttons, links, and images on mobile devices. Buttons should only display appropriate touch states (e.g. :active or :focus, if required) without applying desktop hover styles. Use @media (hover: hover) CSS media query to scope hover styles to pointer devices only.

02

Test content - test product page publicly accessible on live store

Actual: The test product is visible on the live site at dragonsofwaltonstreet.com/product/test. Non-production content is accessible to real customers.

Expected: All test products, test content, placeholder data, and any other non-production elements should be removed or disabled so they are not visible to customers on the live website before public launch.

41
DWSC-41 · BUG · URGENT

Search Results Page

Five structural display defects on the Search Results Page - inconsistent card sizing, artificial pagination cutoff, double-click navigation failure, no no-results state, and missing recommendation module.

!

Product cards require two clicks to navigate to PDP

On PLP and search pages, the first click on a product card only triggers the CSS/JS hover state (secondary image). A second click is required to navigate to the PDP. This affects all devices and is most disruptive on mobile. URL: search?query=chair

01

Double-click required to navigate from product card to PDP

Actual: The first click on any product card triggers the hover/secondary image swap only - it does not navigate to the Product Detail Page. A second click is required to actually follow the product link. This breaks standard e-commerce card behaviour and is confusing, especially on mobile touch devices.

Expected: A single click on a product card should immediately navigate to the corresponding PDP. The hover/secondary image swap should not intercept the click event or prevent navigation.

02

Product card dimensions inconsistent across search result views

Actual: Product card sizes vary significantly across different search result views and collection grids. Some cards appear significantly larger or smaller than adjacent cards, creating a broken, unprofessional grid layout. The CSS constraints for card max-height or grid-template-columns appear inconsistent across page templates.

Expected: Product card dimensions must remain consistent across all search result views and collection grids. A fixed aspect-ratio and consistent column template should be enforced via CSS globally. Suggest a luxury approach: consistent portrait cards (e.g. 4/5 ratio) with uniform padding.

03

Artificial pagination cutoff - final row incomplete before Load More fires

Actual: The final visible row of search results shows only 2 of 3 possible product cards before "Load More" is triggered, leaving an empty third cell visible. The missing third card only appears after clicking Load More, creating an artificial and confusing pagination cutoff.

Expected: The product grid fills each row to full capacity before triggering Load More. All available products within the current page limit are shown. The Load More button only loads the next batch of results beyond the current page capacity - not products that belong to the current page.

04

No results state - blank grid with no message or recovery suggestion

Actual: When a search query returns zero results, the product grid area is left completely blank. There is no feedback message, no "did you mean" suggestion, and no alternative action for the user to take.

Expected: A clear "No results found for [query]" message should be displayed, with: (1) a suggestion to clear filters or broaden the search, (2) a "Clear All Filters" / "Start Over" action link, and (3) optionally a recommendation module showing trending or popular products to re-engage the user.

05

Load More button label and behaviour inconsistent

Actual: The Load More button label and behaviour are inconsistent across search and collection pages. In some views it loads a single additional product rather than the next full batch, making pagination feel broken and unpredictable.

Expected: A consistent, clearly labelled pagination control ("Load more", "Show next", or "View more") that reliably loads the next full batch of results. The button should display the number of remaining results (e.g. "Load more (12 remaining)") where possible. Infinite scroll should be considered as an alternative for a luxury e-commerce experience.

42
DWSC-42 · BUG · URGENT

Filter Drawer

Ten usability defects in the sidebar/drawer filter component - misaligned text cursor, misaligned counts, broken layout states, refresh logic blocks, missing colour options, and mobile scroll issues. Priority: Urgent.

!

Colour filter options missing - Blue absent, Pink returns wrong results

The colour Blue is entirely absent from filter options despite blue products existing. Applying the Pink filter returns only one product when multiple matching products are available. Filter logic is broken at the data level - this is a data/metafield configuration issue, not a CSS issue.

01

Text cursor misaligned in filter search input

Actual: The text insertion cursor (caret) is misaligned within the filter search input field. When clicking into the filter's search box, the cursor renders at an incorrect vertical position - either too high or too low relative to the input baseline - making it feel broken and unpolished.

Expected: The text cursor should be vertically centred within the filter input field. The input should use standard line-height and padding values to ensure correct cursor placement across all browsers.

02

Selected filter count - tiny font, misaligned

Actual: The selected filter count displays in a very small font size and is not aligned with the surrounding text. The count badge appears disconnected from the filter label it belongs to.

Expected: Appropriate font size for visibility, aligned with the filter label text. The count badge should be styled consistently with the design system.

03

Filter drawer layout shifts after filters are applied

Actual: The Clear Filters section shifts position and stays highlighted with a black background after filters are applied - inconsistent layout before and after filtering.

Expected: Filter drawer layout remains consistent. Clear Filters does not shift position or display inconsistent styling before or after filter application.

04

Refresh logic blocks - page refresh required after deselecting filters

Actual: After selecting and then deselecting filters without closing the drawer, the filter state becomes locked. Some filter options remain greyed out or blocked, and the product grid does not update until the page is refreshed or the Apply button is explicitly clicked. This "refresh logic block" creates a frustrating experience for users trying to iterate on their filter selection.

Expected: Filter state should update reactively without requiring a page refresh. Deselecting a filter should immediately re-enable all relevant options and update the product grid in real time.

05

Deselecting a filter leaves other options stuck disabled

Actual: When conflicting filters are selected then one is removed without closing the drawer, other options remain greyed out and cannot be selected until Apply is clicked.

Expected: Filter availability updates dynamically. Options become selectable immediately after conflicting filters are removed.

06

Colour filters - Blue absent from options; Pink returns incorrect results

Actual: The colour Blue is entirely absent from filter options despite blue products existing in the catalogue. Applying the Pink filter returns only one product when multiple pink-tagged products should be visible. This is a data-level issue - the product metafields or tags used to power colour filtering are either missing, misspelled, or not assigned to the relevant products.

Expected: All colour options represented in the product catalogue must appear in the colour filter. Applying a colour filter must return all products correctly tagged with that colour. A full audit of product colour tags/metafields is required to fix the data at source.

07

Scrollbar appears with no content to scroll

Actual: A scrollbar renders inside the filter drawer even when content doesn't require scrolling. URL: /products/beds

Expected: Scrollbar only shown when content exceeds the available viewport height. Use overflow-y: auto (not scroll) to ensure the scrollbar only appears when necessary.

08

Close (X) icon overlapped by scrollbar

Actual: On the filter & sort drawer, the modal close icon (X) in the upper right corner is partially covered by or overlapping with the container's vertical scrollbar, making it very difficult to click.

Expected: The close icon must be entirely clear of the scrollbar bounding box - correct right-side margin or explicit z-index/positioning required.

09

Mobile - filter drawer scroll collapses the entire modal

Actual: On iOS Safari & Android Chrome, scrolling upward inside the open filter drawer drags the entire menu down/up, hiding content and exposing a blank area underneath. Background page scrolling is not locked.

Expected: Background page scrolling must be locked while the filter drawer is active. The modal container should remain stable during internal scrolling. Use overscroll-behavior: contain on the drawer container.

10

Mobile - native blue focus ring on close button

Actual: On mobile (iOS Safari & Android Chrome), tapping the filter drawer close icon (X) displays a native browser blue outline/focus border that disrupts the premium custom styling of the storefront.

Expected: Custom focus styling should be applied, suppressing the native browser focus ring on this element while maintaining accessibility for keyboard users.

43
DWSC-43 · IMPROVEMENT · HEIGH

Pre-Launch UX Enhancements

Twelve pre-launch frontend enhancement requests - main menu category links, mobile promotional banners, hero scroll animation, footer animation speed, active filter badges, Lovelist, cart page, pagination, mini cart UX, checkout Pay Now branding, PLP breadcrumbs and quick-add, and BNPL payment options. Urgent.

i

Improvement ticket - not a bug

These are enhancement requests to optimise the UX before go-live, not defect reports. Each item has clear acceptance criteria and relates to DWSC-24.

01

Header Main Menu category links - clicking top-level items does not load a category page

Current: When interacting with the main navigation header (e.g. "Nursery", "Kids Room"), clicking the top-level items does not load a category overview page. The label text is non-interactive on desktop, so users who click the parent item rather than a sub-item reach a dead end with no content loaded.

Requested: The top-level menu paths should be linked to their corresponding Shopify collection overview pages so users can click through seamlessly to the full category listing. Sub-items should also be shown as individual linked items that reveal on parent hover/click. URL example: clicking "Nursery" should navigate to /collections/nursery.

02

Mobile homepage promotional banners - stacked static images add excessive page height

Current: On mobile views, promotional homepage banner elements are rendering as stacked static images, adding excessive page height and requiring heavy scrolling to reach any content below the hero area. The desktop-oriented layout does not adapt appropriately for portrait/narrow viewports.

Requested: Redesign the homepage banner section into a clean, horizontally swipeable carousel component with clear pagination dots or touch/swipe indicators. This will save vertical screen space and significantly improve mobile interaction patterns. The carousel must support native touch gestures (swipe left/right) and must not block other page interactions.

03

Mobile hero scroll animation - looping after user has scrolled past hero section

Current: When scrolling the homepage on a mobile viewport, the hero section scroll animation or video continues to loop and play after the user has scrolled past the hero content. The animation lingers in the background, competing with subsequent page sections and consuming unnecessary GPU/battery resources on iOS Safari and Android Chrome.

Requested: The hero animation/video should pause or stop when it leaves the visible viewport. Use an IntersectionObserver to detect when the hero is off-screen and pause the animation/video programmatically. On iOS Safari, also ensure the video has playsinline and muted attributes to prevent autoplay restrictions from interfering.

04

Mobile footer scroll animation - marquee speed excessively fast, links cut off

Current: When accessing the site on mobile viewports (reproducible across Android Chrome and iOS Safari), the automated marquee/scrolling animation within the footer moves up and down at an excessively high speed. The animation rate causes links to be cut off mid-character and creates jarring visual jitter that is unacceptable for a premium luxury brand. The speed is inconsistent between desktop (acceptable) and mobile (too fast to read). Evidence: ScreenRecording_07-02-2026 16-45-38_1.MP4.

Requested: Reduce the footer animation velocity significantly to a smooth, non-disruptive reading speed - slow enough for users to read all links without jitter. The animation must also respect the user's prefers-reduced-motion media query (pause when true) and should pause when the footer is not in the active viewport to save CPU/GPU resources.

05

Active filter badges (PLP & Search) - applied filters are invisible on the product grid

Current: When active collections are refined via the Filter & Sort sidebar, the applied parameters are completely hidden on the main product grid section. Users have no visual indicator of which filters are active without re-opening the drawer. The "Clear All" action is also not visible on the grid page, creating confusion for users trying to reset their browsing context.

Requested: Introduce an active filter chip region directly beneath the collection title (e.g. "Latest Nursery"). This row will display the currently active filters as individual dismissible chips, each with an "X" clear target to remove that individual filter. A global "Clear All" action link must sit alongside. Applies to both PLP collection pages and the Search results page. All filter colour values (Blue, Pink, etc.) must return correct product counts from the data layer.

06

Lovelist / Wishlist - feature not yet implemented; must be accessible from account section

Current: The Lovelist/Wishlist feature is referenced in the account section and product cards but does not function for logged-in users. Items added to the Lovelist are not persisted and the feature appears partially scaffolded. There is no standalone Lovelist page and no account integration.

Requested: Implement a fully functional Lovelist/Wishlist feature that: (1) allows logged-in users to save products from PDP and PLP cards via a heart/save icon, (2) persists the list across sessions and devices tied to the user's account, (3) is accessible from within the account dashboard section (not as a separate standalone page - it must be integrated into the account navigation), and (4) supports "move to cart" and "remove" actions from the list view. The Lovelist must only be available to logged-in users - guest users should be prompted to create an account or log in.

07

Cart page - redirects directly to Shopify checkout; no branded /cart review page

Current: Navigating to /cart or clicking "Continue to checkout" from the mini cart takes users directly to the Shopify-hosted checkout (/checkouts/...), which uses the default Shopify checkout UI. There is no branded intermediate cart review page. Users have no opportunity to review their full basket, apply a discount code, or confirm item details before entering the checkout flow.

Requested: Implement a dedicated branded /cart page that sits between the mini cart and the Shopify checkout. This page should display: (1) product image, title, variant, and quantity stepper per line item, (2) remove/edit actions per line item, (3) an order summary panel with subtotal, discount code field, and estimated shipping, and (4) a prominent branded "Proceed to Checkout" CTA (black background, white text matching the brand button system).

08

Pagination - Load More / infinite scroll needs implementing on collection/search pages

Current: Pagination is inconsistently implemented across collection and search result pages. Some pages use a "Load More" button that loads only one additional product at a time. Others have no pagination at all. This should also be represented in the sitemap.

Requested: Implement consistent, accessible pagination across all collection and search pages. Options: (1) a "Load More" button that deterministically loads the next full page of results each time it is clicked, or (2) infinite scroll with a scroll-triggered loader and a fallback button. The selected approach must be clean, predictable, and documented. It must be consistent across all listing page types. Add the pagination pattern to the sitemap. Acceptance criteria: the next/load-more button must function correctly on every page load without requiring a page refresh to reset state.

09

Mini Cart - three UX defects: no edit icon, dated quantity dropdown, checkout button shows price inline

Current - three issues identified:

  1. No edit option: There is no edit option or icon present on mini cart line items. Users cannot modify a product's configuration (size, colour, fabric) after adding it to the cart without removing and re-adding the item entirely.
  2. Dated native quantity dropdown: Quantity is controlled via a native browser <select> dropdown element (displaying as "Qty: 1 ▼"). Users must open a dropdown to change quantity. This feels dated and out of place for a premium luxury brand experience - a custom +/- stepper is the expected pattern.
  3. Checkout button shows total inline: The "Continue to checkout" button at the bottom of the mini cart displays the total price inline within the button label itself (e.g. "Continue to checkout $18,313.00"). There is no separate subtotal/summary row above the button showing item count and order total before the user commits to checkout.

Requested: (1) Add a pencil/edit icon per line item that links back to the PDP with the current variant pre-selected. (2) Replace the native <select> with a custom branded +/- quantity stepper component. (3) Add a dedicated subtotal row above the checkout CTA showing item count and order total separately, and remove the price from within the button label itself.

10

Checkout - "Pay Now" button uses Shopify default blue; does not match brand styling

Current: The final "Pay now" call-to-action at the checkout payment step renders in Shopify's native default blue colour (#3B1BDB or similar). The brand uses a distinct black background (#222222) with white text for all primary action buttons across the entire storefront (e.g. "Add to basket", "Create account", "Sign in"). The blue Pay Now button looks completely unstyled and detached from the brand design system. This is a pre-launch blocker for brand consistency. Also filed as DWSC-44.

Requested: Update the "Pay now" button to match the primary theme button design - black background (#222222 or #1B1B1B) with white text. This can be achieved via the Shopify Checkout Editor (available on all plans) or the Checkout Branding API (Plus). Acceptance criteria: the Pay Now CTA must look native to the brand and match the main button styling across all checkout steps and all tested devices.

11

PLP pages - breadcrumb navigation missing and no "Quick add to basket" hover action on product cards

Current - two issues:

  1. Breadcrumb missing on all collection, PLP, and PDP pages: All mentioned pages (e.g. /collections/cot-beds-cribs) show no breadcrumb trail (e.g. Home > Nursery > Cot Beds & Cribs). Users have no visual indicator of where they are in the site hierarchy and no quick way to navigate back up the category tree. Note: PDP does show a partial breadcrumb ("Furniture / Cot Beds & Cribs") but it is inconsistent with what collection and PLP pages show. Breadcrumbs also benefit SEO via structured data markup (BreadcrumbList schema).
  2. No "Quick add to basket" hover action on product cards: Hovering over a product card reveals only a very subtle image zoom effect. There is no "Quick add" or "Add to basket" CTA revealed on hover. Users must click through to the full PDP to add an item to the basket, adding unnecessary friction for users who already know what they want.

Requested: (1) Implement consistent breadcrumb navigation across all collection, PLP, and PDP pages using Shopify's breadcrumb liquid object and include BreadcrumbList JSON-LD structured data for SEO. (2) Add a "Quick add to basket" CTA on product card hover - this should reveal an "Add to basket" button (or a variant selector if the product has variants) without requiring the user to navigate to the PDP.

12

Checkout - missing "Buy Now, Pay Later" installment payment options (Tabby, Tamara)

Current: The checkout framework currently lacks installment-based payment methods. For targeted high-conversion demographic sectors - particularly the UAE market where the brand has significant audience exposure - flexible installment payment options are a standard consumer expectation. The absence of BNPL options is likely to reduce conversion rates for high-value basket orders.

Requested: Integrate "Buy Now, Pay Later" (BNPL) installment payment services into the checkout flow. Priority services for the UAE market are Tabby and Tamara, both of which are very popular and widely expected by UAE consumers. Both services offer Shopify-compatible integrations. Additionally, evaluate wider BNPL options (e.g. Klarna, Clearpay) for the UK market. BNPL options should also be surfaced on the PDP near the price/CTA to reduce price anxiety before users reach checkout.

44
DWSC-44 · BUG · HIGH

Checkout Issues

Three branding, usability, and configuration defects in the checkout pipeline - missing estimated delivery times, wrong default country pre-selected, and Shopify default blue Pay Now button overriding brand styling. Reporter: Mahima Soni.

!

No estimated delivery times shown during shipping selection

Customers are forced to select shipping rates blindly without any visibility into when their high-value luxury items will arrive. This drastically reduces transactional transparency and is likely to increase cart abandonment. Target URL: dragonsofwaltonstreet.com/checkout

01

Missing estimated delivery times throughout shipping selection and payment steps

Actual: There are no estimated delivery times or date ranges shown anywhere throughout the shipping configuration or payment selection steps. Customers are forced to select shipping rates blindly without any visibility into when their high-value luxury items will arrive, which drastically reduces transactional transparency.

Expected: Clear estimated delivery timeframes or delivery window ranges must be explicitly displayed alongside each available shipping tier method (e.g. "Standard Delivery - arrives 5-7 business days", "Express - arrives 2-3 business days"). This is critical for a luxury goods brand selling high-consideration products.

02

"Pay Now" button renders in Shopify default blue - does not match brand styling

Actual: The final "Pay now" action button renders in Shopify's native default blue colour (#3B1BDB or similar). The brand uses a distinct black background (#222222) with white text styling across the entire storefront for primary action buttons (e.g. "Add to basket", "Create account", "Sign in"). The blue button looks completely unstyled and detached from brand guidelines.

Expected: The "Pay now" button styling must match the primary theme design. Update the button to use a black background (#222222 or #1B1B1B) with white text via the Shopify Checkout Editor or custom theme configuration settings. This is achievable without Shopify Plus by using the checkout.liquid or Checkout Branding API.

Discovery log

How the QA pass unfolded

All fourteen tickets were filed across three QA sessions on 1-3 July 2026, moving from global navigation outward to page-specific flows, filter components, checkout pipeline, and UX enhancements.

Scroll horizontally on smaller screens →