Skip to main content

Shared BDD feature files for Porto SDKs

Project description

Porto Features

validation codecov

Structured feature specifications for Porto SDKs

A validated collection of Gherkin feature files and JSON fixtures that define behavioral contracts for Python and TypeScript SDKs. Files are checked in CI and packaged for distribution on npm and PyPI.


Install

TypeScript / JavaScript (npm, scope: @gruncellka)

pnpm add -D @gruncellka/porto-features
yarn add -D @gruncellka/porto-features
npm install -D @gruncellka/porto-features

Use this npm package in both TypeScript and JavaScript projects.

Python (PyPI)

pip install "gruncellka-porto-features[dev]"
uv add --dev gruncellka-porto-features
poetry add --group dev gruncellka-porto-features

The package includes porto_features/features/*.feature and porto_features/fixtures/**/*.json, so SDK tests can run offline with the same source of truth in both ecosystems.

  • Python (PyPI): access files from the installed porto_features package directory (porto_features/features and porto_features/fixtures).
  • TypeScript / JavaScript (npm): access the same files from the package root (@gruncellka/porto-features/porto_features/...).

Use cases

SDK contract tests (Python/TypeScript parity), BDD documentation, regression safety during SDK releases.


Validate locally

make setup
make quality
make test-coverage

This runs feature/fixture validation, Gherkin linting, Python lint/format checks, type checks, and test coverage gates used by CI.


Feature statistics

9 feature files; 80+ scenarios across API, CLI, pricing, restrictions, validation, services, and stamp generation. Address fixtures include DE, FR, CH, GB, NO, UA, US, and DE sender origin.


Feature and fixture overview

File Description
api_comprehensive_testing.feature End-to-end API behavior scenarios
cli.feature CLI usage and output behavior
data_access.feature Data loading and access behavior
pricing.feature Pricing logic by type/zone/weight
resolution.feature Resolution workflow behavior
restrictions.feature Restrictions and sanctions behavior
services.feature Service catalog behavior
stamp_generation.feature Stamp generation behavior
validation.feature Validation and error behavior
porto_features/fixtures/addresses/*.json Test addresses by country/zone

Feature files are validated via scripts/validate_features.py, and fixture JSON files are validated via scripts/validate_fixtures.py. Fixtures are shipped for deterministic tests.


Standards

  • Feature format: Gherkin (.feature), Cucumber-compatible
  • Fixture format: JSON (.json)
  • Country codes: ISO 3166-1 alpha-2 (DE, US, FR, UA)

Disclaimer

This is reference feature specification data for Porto SDKs. Always verify that SDK implementations and runtime behavior match these specifications before shipping to production.


Related resources


🔳 gruncellka

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gruncellka_porto_features-0.2.1.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gruncellka_porto_features-0.2.1-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file gruncellka_porto_features-0.2.1.tar.gz.

File metadata

File hashes

Hashes for gruncellka_porto_features-0.2.1.tar.gz
Algorithm Hash digest
SHA256 bd9af0956c9362272ea65311e720022c226cae46d5eafbad08f7d71c1c445994
MD5 17342742b000a2613d0960f5fa2549bb
BLAKE2b-256 444476a24c14735b0c6af98d95497337d15f359644860eb7dfc9025e6d62bb37

See more details on using hashes here.

Provenance

The following attestation bundles were made for gruncellka_porto_features-0.2.1.tar.gz:

Publisher: publish.yml on gruncellka/porto-features

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gruncellka_porto_features-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for gruncellka_porto_features-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fb2f2085ecc6e4b15aa45fedba4058947c6ed292e55a1ea1e47587e3ec9d86f7
MD5 af4ea6eae583e890747fffe1dc4c6f28
BLAKE2b-256 1a22944ff32049691e1715ff9755f63c19aa2e397bef8584faab125c44205933

See more details on using hashes here.

Provenance

The following attestation bundles were made for gruncellka_porto_features-0.2.1-py3-none-any.whl:

Publisher: publish.yml on gruncellka/porto-features

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page