Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Ota yhteyttä
Finnish
US English (US)
FI Finnish
  • Koti
  • Partnerit

Testauksen selkäranka – bisneskriittisten Svelte‑komponenttien varmistaminen AI Commerce Cloudissa

Lue vinkit bisneskriittisten Svelte-komponenttien tehokkaaseen testaukseen ja varmistamiseen AI Commerce Cloudissa.

Written by Petro Mäntylä

Updated at April 17th, 2025

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • AI Commerce
    Hallinnan etusivu Asiakkuudet Tilaukset Tilausten hallinta Kategoriat Tarjoustyökalu Tuotteet Konfiguraatiot Moduulit Raportit Paikallisasetukset ja verot Arvostelut Etusivu FAQ -työkalu Kuvagalleria Työkalut Kassa Lisätoiminnot Svelte
  • Akeneo
  • WordPress
  • Builder.io
  • Algolia
  • phpList
  • Google
  • Meta
  • Tuki
  • Tehden
  • Partnerit
  • Microsoft
  • Integraatiot
+ Lisää

Sisällysluettelo

1. Bisneskriittiset pisteet, jotka aina testataan 2. Tekninen toteutus 2.1 Testauspinon osat 2.2 Periaatteet 3. Esimerkkitesti: “lisää ostoskoriin” 4. SLA ja taloudellinen vastuu 5. Kumppaneille: näin osallistut 6. Yhteenveto

AI Commerce Cloudin lupaus asiakkaille ja partnereille on yksinkertainen: kauppa pysyy pystyssä ja myyntisuppilo toimii. Lupauksen takaamiseksi olemme rakentaneet kattavan testiputken, joka tarkistaa tärkeimmät liiketoimintaprosessit automaattisesti jokaisella deploy‑kierroksella myös frontendin puolella. 

Tässä artikkelissa kuvaamme:

  • Mihin osa‑alueisiin keskitymme (bisneskriittiset komponentit)
  • Millä työvälineillä ja periaatteilla testit toteutetaan (Svelte + Vitest)
  • Miten testit integroidaan CI/CD‑putkeen ja SLA‑seurantaan
  • Kumppaneiden roolin laajentaa testikattavuutta omilla PR‑muutoksilla

1. Bisneskriittiset pisteet, jotka aina testataan

Kategoria Esimerkkivirhe, johon testi pyrkii tarttumaan
Ostoskori – tuotteen lisääminen Tuote ei siirry sessioon → asiakas poistuu
Maksutavat ja ‑paluu‑URL Kaksoisveloitus, väärä status → tuki kuormittuu
Kirjautuminen & tilille luonti 2FA‑tai salasanavirhe estää kassalle pääsyn
Tilauksen luominen API‑timeout tai puuttuva kenttä estää orderId:n
Checkoutin asiakastiedot Osoite‑/vero‑säännöt väärin → toimitus hylätään
Tuotesivujen renderöinti Virheellinen variantti‑ID → tyhjä “add to cart”
Kategoria‑/listanäkymä Lajitteluvalinta kaataa SSR:n

Nämä testit ajetaan blokkaavina – CI pysähtyy, jos yksikin epäonnistuu.


2. Tekninen toteutus

2.1 Testauspinon osat

Kerros Työkalu Käyttö
Unit / render @testing-library/svelte + Vitest Komponenttien DOM‑logiikka & state
Integraatio / stub sama, mutta mockatut HTTP‑/store‑rajapinnat AddCart ↔ Cart‑store, PaymentSelector ↔ PSP‑adapteri
Static ESLint (+ Sveltelint) Koodistandardit, yleisimmät virheet
E2E (roadmap) Playwright (headless) Täysi “kori → maksu → tilaus” selaimessa

 

2.2 Periaatteet

Jokainen testi eristyy – ulkoiset fetchit korvataan stubilla; vain yksi asia saa mennä verkkoon kerrallaan.

Natiivi Svelte‑store, ei jest.fn()‑subscribeja – vähemmän TDZ‑virheitä ja realistisempi reaktiivisuus.

ASCII‑puhdas testikoodi – Rollup ei kaadu girlandereihin (näistä tuskailimme).

4 välilyöntiä ja anonyymit funktiot – sama tyylisopimus kuin tuotannossa.


3. Esimerkkitesti: “lisää ostoskoriin”

// tests/cart/add_to_cart.test.js
import { vi, expect, it } from 'vitest'
import { render, fireEvent } from '@testing-library/svelte'
import AddCart from 'src/pages/product/[slug]/AddCart.svelte'
import { addCart } from '$lib/cart'
vi.mock('$lib/cart', () => ({ addCart: vi.fn() }))
it('puskuroi yksinkertaisen tuotteen koriin', async () => {
    const { getByText } = render(AddCart, {
        props: { updatePrice: () => {}, comment: '' }
    })
    await fireEvent.click(getByText('Add to Cart'))
    expect(addCart).toHaveBeenCalledWith(
        { id: '123', variant: null, quantity: 1 },
        'cart'
    )
})

Testi validoi:

  • Nappi löytyy ja on klikattavissa
  • addCart saa täsmälleen oikean objektin
  • Sessio‑ID (“cart”) välittyy toisena parametrina

4. SLA ja taloudellinen vastuu

Mittari SLA‑tavoite Valvontatapa
Checkout‑polun onnistuminen CI:ssä 100.00 % Pakollinen testi per Git‑commit
Produktioputken regressiot < 0.01 % / kk Telemetria + alertit Slackiin
Palautteen korjaus bisneskriittisessä bugin kohdalla 2 h On‑call rota, hot‑fix branch

Automaatit eivät kata kaikkea → manuaalinen smoke‑testi ennen tuotantoon vientiä on edelleen pakollinen. Kirjaamme Jira‑tikettiin “Go / No Go”.


5. Kumppaneille: näin osallistut

  1. Forkkaa repo, checkout partner-tests branch.
  2. Lisää oma testi tests/<domain>/<feature>.test.js – käytä samaa tekniikkaa kuin esimerkissä.
  3. Aja npm run test. Jos vihreä → tee PR.
  4. Arvostamme unit‑/integraatiotestejä erityisesti seuraaviin:
    • Uudet maksutapojen moduulit
    • Räätälöidyt kampanjalogiikat
    • Asiakasprofiilin laajennuskentät

6. Yhteenveto

  • Panostamme testikattavuuteen, koska SLA = taloudellinen vastuu.
  • Keskitymme ensin bisneskriittisiin kohtiin: kori, maksu, kirjautuminen, tilaus, checkout‑formit, renderöinti.
  • Käytämme Vitest + Svelte Testing Library + ESLint; E2E Playwright laajenee 2025.
  • Testit ajetaan jokaisessa CI‑rakennuksessa – mutta manuaalinen hyväksyntä säilyy.
  • Kumppanit voivat (ja toivomme että te) lisäätte testejä – PR + bonus.

Näillä periaatteilla sekä me että integraatiopartnerit voimme luottaa siihen, että AI Commerce Cloud skaalautuu ja pysyy toimintavarmana kovankin liikenteen keskellä.

varmistaminen

Oliko artikkeli hyödyllinen?

Kyllä
Ei
Anna palautetta tästä artikkelista

Yhteenkuuluvat artikkelit

  • Tuotteen monistaminen ja kopioiminen
  • AI Commerce tukee Composable Commercea ja Serverless Lamda -kehitysympäristöä
  • Mitä Google Adsin konversiotapahtumia AICC tukee?
AI Commerce Logo
GDPR badge AWS badge Plus icon

Future-proof eCommerce, built in the EU

AI Commerce Cloud is developed and hosted within the EU, fully compliant with GDPR and all relevant regulations.

Solutions

Service packages Features Integrations Customers

About us

About us Support Vision Contact us

Development

Changelog Blog Implementation Partners System status
🌐 English AI Commerce Cloud FI0818073-0 Ranta-Tampellan Katu 17, 33180 Tampere, Finland info@aicommerce.fi
LinkedIn Itewiki
Privacy Policy Licensing Rights Terms of Use
© 2025 AI Commerce Cloud. All rights reserved.
Expand