Staging environmentHow to test →
VIX
VIX Staging
Staging

How to test.

A step-by-step guide to trying Teams, Wholesale, and Admin on staging, with what you should see at each step.

Before you start

  • The amber Staging environment bar at the top means you're on staging, not the live site. Its How to test link brings you back here from any staging page.
  • Staging runs on a test Shopify store, Stripe test payments, and a test inbox. Nothing you do here reaches customers, real orders, or real money, so try anything.
  • There are no passwords. Each site emails you a one-time sign-in link: open the email (its subject starts with [STAGING]), click the link, then click Continue securely.
  • Wholesale and Admin only send sign-in links to approved VIX addresses. Teams sends one to any address you type, so you can use a second address (or a +alias like yourname+coach@…, if your inbox supports it) to play a different person.
  • Every other email (order confirmations, invites, approvals, receipts) goes to one shared staging test inbox instead of the address typed. Its subject starts with [STAGING], and a box at the top says who it would have gone to. Ask Ryan if you need to see one.
  • Give everything you create an obvious test name, like VIC TEST SHOP or LUCAS TEST TEAM. Staging gets new work before the live site, so it may look a little different.
Walkthrough

Teams

An organizer starts a team order and shares a link. Racers join, pick sizes, and save a card. Nobody is charged until the order closes, and then the whole team's order ships to the organizer in one box.

01Start a team order (organizer)

  1. Open the Teams sign-up page. Enter your name and email, then click Email my secure link.

    Start a team order https://teams-staging.vixprotection.com/login?intent=create

    You should seeCheck your email. Open the link from the email and click Continue securely.

  2. On your dashboard, click Create team order.

    Your team orders https://teams-staging.vixprotection.com/dashboard

    You should seeCreate a team order, with the deadline already filled in.

  3. Enter a test team name and a shipping address (where the whole order will ship), keep or change the deadline, then click Create team order.

    You should seeYour team's organizer page. The team link is under Invite your team.

  4. Copy the team link to use in the next journey.

02Join as a racer and save a card

  1. Open the team link in a private window or another browser, so you're not signed in as the organizer.

    You should seeThe team's page, with Order closes in and the Current team rate.

  2. Click Choose your protection, pick a fit (Men's, Women's, or Youth) and a size, then click Continue.

    You should seeBuild your protection kit. Sizes (and the Youth fit) that are out of stock can't be picked, unless VIX takes backorders for them (marked Backorder; see Order a sold-out size below). A Size chart under the fit buttons shows body measurements.

  3. Enter a name and email under Your information, optionally tick Email me product drops, guides, and the latest from VIX, then click Continue.

    You should seeReserve your order, with a card form. On an iPhone or Mac Safari with a card in Wallet, Apple Pay appears beside it; its sheet says the order is charged when it closes.

  4. Enter a test card from Test cards below, then click Reserve order.

    You should seeYou're in, saying the card will be charged on the deadline. Nothing is charged yet.

  5. Back on the organizer page, find the racer under Racers.

    You should seeThe racer is listed. Three items unlock 10% off for the team, and each extra item adds more, up to 40%.

The racer's confirmation email says when the card will be charged, in the team's time zone, and roughly how much. That email, with their own order link (where they can Change order or Cancel my order), goes to the staging test inbox. A racer who didn't tick the email box sees Product drops and guides on their order link; Sign me up shows You're signed up.

03Change an order

  1. On a racer's order link, before the deadline, click Change order. Use Change fit or size on an item (or add or remove items), then click Save changes.

    You should seeYour order is updated, with the new items. A size swap keeps the price the racer joined at. An Order updated email goes to the test inbox, and the order's Shopify stock moves to the new size.

04Order a sold-out size (backorder)

A size that's sold out can still be ordered when the test Shopify store keeps selling it past its stock (the same setting that turns on reservations on the website). Ask Ryan to set one up if no size shows Backorder. With no ship date set on the product, it says Ships when inventory arrives; a date added later shows up on waiting orders within about 15 minutes.

  1. Join as a racer and pick the size marked Backorder, or more of a size than is left.

    You should seeThe item reads Backordered (or 2 of 3 backordered) with when it ships, and a note says backordered items ship in a separate package once restocked.

  2. Save a card and reserve the order.

    You should seeThe confirmation email marks the backordered items. The organizer page lists them under Backordered items.

  3. Close the order (see the next journey).

    You should seeCards are charged as usual, backordered items included. The test Shopify store gets two orders: the team's, and one tagged backorder with the backordered items.

  4. On the racer's order link, under Backordered items, click Cancel backordered items, then confirm the refund shown.

    You should seeThe refund is for just those items plus their tax, a Backorder Cancelled email goes to the test inbox, and the rest of the order is unchanged. Admin can do the same from the order's Cancel backordered action.

05Close the order and charge the cards

Staging never charges cards at the deadline on its own. To test charging, close the order by hand.

  1. Optional: first click Extend deadline by 48 hours on the organizer page (it works once per team).

    You should seeThe new deadline, and an email to each racer who joined.

  2. Optional: to see a failed payment, have one more racer join with the card ending 0341.

  3. On the organizer page, find Ready to close? and click Close order now, then Confirm & close.

    You should seeSuccessfully charged and the number of orders. Each card is charged the final team rate plus sales tax, and the team's order goes to the test Shopify store as one order. (A team shipping to France or another country in `lib/international-shipping.ts` is charged import duty and VAT instead, plus $45 shipping when it has fewer than 3 items; its Shopify order shows Import duty, Import VAT, and shipping lines.) With the 0341 card, it says instead that one payment needs attention. The organizer page then shows Waiting on a payment with the time that racer's order would be cancelled, and the racer gets an Action required: update payment email in the test inbox. Their order link shows Payment update needed with the same deadline in the team's own time zone, where they can enter the same card again or a new one.

06Cancel

  1. A racer can cancel their own order before it closes: Cancel my order on their order link.

    You should seeOrder cancelled. Their card won't be charged.

  2. The organizer can cancel the whole team while it's open: Cancel team order on the organizer page.

    You should seeEvery racer is emailed and no card is charged.

  3. After cards were charged, cancel from Admin instead: open the team and click Cancel team & refund (see Admin below).

    You should seePayments are refunded, stock is released, and racers are emailed.

Test cards

Staging only takes Stripe test cards; real cards are declined. Use any future expiry (like 12/34), any 3-digit CVC, and any ZIP.

Card numberWhat happens
4242 4242 4242 4242Succeeds.
4000 0000 0000 0002Declined when the racer saves it.
4000 0000 0000 0341Saves, then fails when the order closes.
4000 0027 6000 3184Asks for an extra bank check when saving.
Walkthrough

Wholesale

A ski shop signs in, enters its store details, signs the wholesale agreement once, and orders from one form. VIX verifies each shop once; after that, the shop's orders are approved automatically.

01Set up a shop

  1. Open Wholesale and click Set up your shop. Enter your VIX email and a test shop name, then click Email my secure link.

    Wholesale https://wholesale-staging.vixprotection.com

    You should seeCheck your email. If it says staging access is limited to approved internal testers, your email isn't on the staging list yet: ask in #app-feedback. If it says Your shop may already have an account, a staging shop has that name: tick This is a different shop and send again, or use a new name.

  2. Open the link from the email and click Continue securely.

    You should seeYour store's information.

  3. Fill in the contact, phone, website, and store address (any real-looking US address works). A resale certificate is optional: any PDF, JPEG, PNG, or WebP under 10 MB works as a test. Click Save & continue.

    You should seeThe VIX Wholesale Agreement.

  4. Enter a signer name and title, tick the box, and click Submit shop for review.

    You should seeWe'll take it from here. with Shop submitted. In Admin, the shop shows Awaiting verification.

Each email can have one shop. To go through setup again from the start, ask Ryan to remove your test shop.

02Place an order

  1. Signed in, open the order form (or click New order on your orders page).

    Order form https://wholesale-staging.vixprotection.com/apply

    You should seeYour opening order. It says wholesale is 40% off MSRP, or Your partner pricing is 50% off MSRP for a partner shop, with free shipping.

  2. Add a few sizes with the + buttons or by typing a quantity.

    You should seeEach size says In stock or Unavailable. No stock numbers are shown.

  3. Type more than a size has.

    You should seeThe quantity drops to the most you can order, and that size alone says Only N available. Wholesale always holds back 10 of each size for the online store, so N is the store's stock minus 10.

  4. Click Review order.

    You should seeOne last look., with the total including tax and free shipping. There's no tax if the shop's certificate is approved.

  5. Once the total appears, tick I accept the total of… and click Submit order.

    You should seeA verified shop sees Order placed: the order is approved automatically, a confirmation email goes to the test inbox, and a test order appears in the test Shopify store. A shop that isn't verified yet (or whose certificate is still being checked) sees Request received and In review: the order waits, and is approved automatically as soon as VIX verifies the shop.

  6. Click View order status.

    Your orders https://wholesale-staging.vixprotection.com/orders

    You should seeYour orders page, with the new order.

In production, every approved order is also posted to #wholesale in Slack. Staging doesn't post to Slack.

03Change the sign-in email

  1. On your orders page, open Sign-in email, enter a different email, and click Send confirmation.

    Your orders https://wholesale-staging.vixprotection.com/orders

    You should seeWaiting for the new address, saying your current email keeps working until the new one signs in. A confirmation email goes to the test inbox. A shop with an order that isn't paid or cancelled yet sees that the email can change once open orders are paid or cancelled.

  2. Click Cancel change.

    You should seeThe form comes back, and the shop still signs in with your email.

Staging sign-in only works for approved tester emails, so finishing a move (signing in with the new address) is covered by the automated staging test. VIX can also change a shop's email from its Admin page under Sign-in email.

Walkthrough

Admin

Admin is where VIX checks new shops, handles orders, and looks after teams.

01Sign in

  1. Open Admin, enter your VIX email, and click Email my secure link. Open the email's link and click Continue securely.

    Admin sign-in https://admin-staging.vixprotection.com/sign-in

    You should seeAdmin Home, with Needs attention at the top. Only VIX admin emails can sign in.

  2. Click your initial at the top right to open the account menu.

    You should seeThe email you're signed in with, System health, Open Teams and Open Wholesale, and Sign out. Teams and Wholesale have the same menu once you're signed in.

02Add a shop for a retailer VIX already works with

  1. Go to Wholesale → Shops → Add shop. Fill in the shop's details. Tick Partner pricing if Victor agreed it. Click Add shop.

    Add shop https://admin-staging.vixprotection.com/wholesale/shops/new

    You should seeThe shop's page, marked as added by VIX, with the invite Not sent.

  2. Under Resale certificate, choose a file and click Upload.

    You should seeCertificate uploaded. It waits for your decision in the verification step.

  3. Choose Approve certificate or Reject certificate, and click Verify shop.

    You should seeShop verified. No email goes out yet, because the retailer hasn't finished setup.

  4. Click Send invite.

    You should seeInvite sent. The invite goes to the test inbox. It asks the retailer to sign in, confirm the details, and sign the agreement.

To follow the invite all the way as the retailer, add the shop with an approved tester email that has no shop yet, then sign in to Wholesale with it.

03Verify a shop that set itself up

  1. Go to Wholesale → Shops, show Awaiting verification, and open the shop.

    Shops https://admin-staging.vixprotection.com/wholesale/shops

    You should seeThe shop's page, with Verify this shop on the right.

  2. Compare the details with the shop's public listing, following the listed steps: Public name, phone, and website match, Store address is deliverable, and Shipping address is confirmed. Nothing needs ticking.

  3. If there's a certificate, open it and choose Approve certificate (orders become tax-free) or Reject certificate (orders are taxed). You can't verify while it's left pending.

  4. Under Pricing tier, leave Standard: 40% off MSRP or choose Partner: 50% off MSRP. Click Verify shop.

    You should seeShop verified. The right side now shows who verified it, when, and its pricing, with no review form. Any orders waiting on this shop are approved automatically, and the retailer's approval email goes to the test inbox.

  5. To try the other outcomes, open Change verification on a verified shop (or use the review form on one that isn't verified), write a Note, and click Request info or Decline shop.

    You should seeNeeds info (the retailer gets the note, and their edit sends the shop back for review) or Declined (its orders can't be approved).

04Switch partner pricing

  1. On a shop's page, under Pricing, choose Standard: 40% off MSRP or Partner: 50% off MSRP, click Save pricing, and confirm.

    You should seePricing set to the tier you chose. Switching to partner emails a verified retailer; switching to standard sends no email. Orders already submitted keep their price.

05Handle a wholesale order

  1. A held order shows Needs review: its shop isn't verified yet, or its certificate still needs a decision. Verify the shop (above) and it's approved automatically, or approve it here: pick the price, decide the certificate, and click Approve & create.

    You should seeApproved, with a test Shopify order. Approval is final: it holds the stock and creates the order.

  2. If an automatic approval fails, the order shows Needs review with the Shopify error and waits for you here.

  3. To cancel, open Cancel this order, write a reason, and click Cancel order, then confirm. It works until the order is paid or ships, including after approval.

    You should seeCancelled (or Cancellation pending while Shopify catches up). The test Shopify order is cancelled and its stock returned.

06Teams in Admin

  1. Go to Teams and search for a team, racer, or email. Open a team.

    Teams https://admin-staging.vixprotection.com/teams

    You should seeThe team's racer orders, shipping address, and Pricing & history details.

  2. On an open team, under Free pieces, enter who it's for, pick a reason, fit, size, and quantity, and click Add. Click Remove to take one back off.

    You should seeThe piece is listed with Reserved stock. It doesn't change the team discount and isn't shown to the organizer or racers. After close, the test Shopify order has it as a $0 line labeled with the recipient.

  3. After a team is charged, open its organizer page. The Late orders card has the late-order link, open for 7 days. Join through it as a different racer.

    You should seeThe late page shows the team's final rate, locked, and more items don't change it. When the window closes, cards are charged and a second test Shopify order tagged late-orders ships to the same address. If nobody joins, it closes with no email.

  4. On an open team, click Edit on a racer who hasn't been charged. Change items or the name, add a reason, click Review change, then Save change. To cancel the order instead, click Cancel order in the same window; it shows what happens before you confirm.

    You should seeThe review shows before and after, the new subtotal, any team discount change, and the email the racer gets. After saving, the racer's row shows the new items and the racer gets an Order updated email saying VIX made the change.

  5. For a return: once a charged team's test Shopify order is marked fulfilled in the staging store, click Actions on a racer, then Refund items. Pick how many of each item came back, add a reason, click Review refund, then Refund.

    You should seeThe review shows the items, their tax, and the total. After refunding, the racer gets an itemized Refund issued email, the order stays Charged, and the test Shopify order shows a refund for just those units with no restock. Refund order no longer appears for that racer.

  6. For an exchange or a return (needs a fulfilled test order, as above): click Return / exchange on a charged racer. Pick exchange or return, the items, the new size for an exchange, a reason, and an address, click Review, then Start. Racers do the same from Start a return or exchange on their order link.

    You should seeBoth email a return label with a QR code and a printable PDF, and appear under Returns & exchanges with tracking. Nothing ships yet: when the carrier first scans the label (the cron checks every few hours, or click Check tracking; on staging, Shippo test tracking stands in), an exchange creates a $0 test Shopify order for the new size and a return is refunded. Cancel works until the scan.

  7. For a return from outside the US: in the same form, pick a non-US Country. Choose a carrier and enter a tracking number, then Review and Start.

    You should seeThe form shows VIX's return address and customs wording, and no label is bought; the racer gets an email with the address instead. With Other as the carrier there's no Check tracking: click Mark received, and an exchange's $0 order is created (or a return refunded).

  8. Open Pricing & history details. Set Floor % (a minimum discount) and/or Additional % (added on top), and click Save.

    You should seeThe team discount becomes the higher of the floor or the volume rate, plus the additional percent, up to 50%. Racer amounts update. Both lock once the team closes.

  9. Use the team's buttons: Close & charge charges the saved test cards now; Cancel team & refund cancels everything, refunds, releases stock, and emails racers.

  10. To start a team for an organizer, click Create team order, fill in the organizer, team, deadline, and address, and click Create team order.

    Create team order https://admin-staging.vixprotection.com/teams/new

    You should seeThe new team's page with No racer orders yet. The organizer's welcome email goes to the test inbox.

07Returns and exchanges (team and website)

  1. Go to Returns.

    Returns https://admin-staging.vixprotection.com/returns

    You should seeTeam and website returns in one list, with anything that needs a look first. Each has Check tracking, Mark received, Retry, and Cancel where they apply.

  2. Website orders: on the staging store, sign in to a customer account with a fulfilled test order, open the order, and click Return or exchange. Pick the items, a new size or a refund, and the address, then Review and confirm.

    You should seeA return label email (or, outside the US, the return address); the return appears under Returns. On the first scan (or Mark received), an exchange creates a $0 test Shopify order tagged web-exchange and a return is refunded on the original order.

After testing

Cleaning up

  • Staging isn't wiped between releases, and everyone shares it, so keep test names obvious.
  • When you're done with a test team, cancel it (Cancel team order, or Cancel team & refund in Admin once cards were charged). Cancel wholesale test orders from the Admin order page. Both give the test store's stock back.
  • To start a Wholesale shop over, or to remove anything else, ask Ryan.
  • Teams and shops whose names start with STAGING (like STAGING SCREENS or STAGING WHOLESALE E2E) belong to the automatic tests, which remove them. Leave them alone, and don't start your own test names that way.
Feedback

Reporting problems

  • Post in #app-feedback in Slack.
  • Say which site and step (for example, “Wholesale, Place an order, step 3”), what you expected, and what happened.
  • Add a screenshot and the page's address. Screenshots help most.