playwright-spanner-assert
v0.1.3
Published
Helper for asserting Cloud Spanner data from Playwright tests
Maintainers
Readme
playwright-spanner-assert
A simple utility for validating Cloud Spanner data from Playwright tests.
Example
import { test } from '@playwright/test';
import playwrightSpannerAssert from 'playwright-spanner-assert';
test('user is created correctly', async () => {
// Your test code...
// Validate Spanner state with expected data
await playwrightSpannerAssert.validateDatabaseState('expected/user.yaml');
});Expected data file format example
Follow the spalidate format:
tables:
Users:
count: 1
columns:
Id: '1'
Name: 'Alice'
Email: '[email protected]'
Posts:
count: 3
columns:
UserId: '1'Quick Start
1. Install
pnpm add playwright-spanner-assert
go install github.com/nu0ma/spalidate@latest2. Create config file
Create playwright-spanner-assert.yaml in your project root:
database:
projectId: my-project
instanceId: my-instance
database: my-database3. Create expected data file
Create expected/users.yaml:
tables:
Users:
count: 2
columns:
Id: '1'
Name: 'Alice'4. Use in tests
import { test } from '@playwright/test';
import playwrightSpannerAssert from 'playwright-spanner-assert';
test('user is created correctly', async ({ page }) => {
// Interact with your app
await page.goto('/signup');
await page.fill('input[name="name"]', 'Alice');
await page.click('button[type="submit"]');
// Validate database state
await playwrightSpannerAssert.validateDatabaseState('expected/users.yaml');
});Done! That's all you need 🎉
Installation
1. Install Node.js package
pnpm add playwright-spanner-assert2. Install spalidate CLI (Go binary)
spalidate is a Cloud Spanner data validation tool written in Go and is required to run validations.
go install github.com/nu0ma/spalidate@latestMake sure spalidate is in your PATH.
Configuration
Minimal config
Place playwright-spanner-assert.yaml in your project root:
database:
projectId: my-project
instanceId: my-instance
database: my-databaseThat's all you need.
License
MIT
