SmoothDeploy Docs

Data Models

Understanding SmoothDeploy's data structure and relationships

SmoothDeploy uses a hierarchical data model to organize tests, users, and execution data. Understanding these models helps you structure your testing strategy effectively.

Core Entities

Organizations

The top-level container for all SmoothDeploy resources.

Key Properties:

  • id: Unique identifier
  • name: Organization display name
  • slug: URL-friendly identifier
  • logo: Organization logo URL
  • metadata: Custom organization data
  • license: Execution limits and retention settings

Relationships:

  • Contains multiple projects
  • Has many users (members)
  • Owns all tests, steps, and runs

Users

Individual team members with access to the organization.

Key Properties:

  • id: Unique identifier
  • name: User's full name
  • email: Login email address
  • role: Permission level within organization
  • activeProject: Currently selected project
  • banned: Account status

Relationships:

  • Belongs to organization
  • Can be member of multiple organizations
  • Creates and manages tests

Projects

Logical groupings of related tests within an organization.

Key Properties:

  • id: Unique identifier
  • name: Project display name
  • active: Whether project is currently active
  • metadata: Custom project configuration
  • vars: Environment variables
  • config: Playwright configuration
  • fastFail: Stop on first failure
  • concurrent: Allow parallel execution

Relationships:

  • Belongs to organization
  • Contains multiple tests
  • Has associated test runs

Tests

Individual test cases that can be executed.

Key Properties:

  • id: Unique identifier
  • name: Test display name
  • active: Whether test is enabled
  • directory: Whether this is a test folder
  • metadata: Test type and configuration
  • parameters: Test input parameters
  • vars: Test-specific variables
  • config: Test-specific Playwright config

Relationships:

  • Belongs to project and organization
  • Contains multiple test steps
  • Has associated test runs
  • Can be tagged with multiple tags

Steps

Individual actions that make up test execution.

Key Properties:

  • id: Unique identifier
  • name: Step display name
  • group: Whether step contains sub-steps
  • shared: Whether step can be reused
  • metadata: Step configuration
  • action: FullAction object defining the step

Relationships:

  • Belongs to organization
  • Can be used in multiple tests
  • Can have parent/child relationships

Test Steps

Junction table linking tests to their steps with execution context.

Key Properties:

  • id: Unique identifier
  • order: Execution order within test
  • frame: Frame context for step execution
  • condition: When step should execute

Relationships:

  • Links test to step
  • Defines execution order and conditions

Tags

Labels for organizing and filtering tests.

Key Properties:

  • id: Unique identifier
  • name: Tag display name
  • color: Visual color for UI
  • description: Tag purpose and usage

Relationships:

  • Belongs to organization
  • Can be applied to multiple tests

Test Runs

Execution instances of tests with results and metadata.

Key Properties:

  • id: Unique identifier
  • name: Run display name
  • status: Execution status (pending, running, completed, failed)
  • vars: Runtime variables
  • secrets: Secure values for execution
  • parameters: Test input values
  • metadata: Execution context
  • stats: Performance metrics
  • duration: Execution time

Relationships:

  • Belongs to test, project, and organization
  • Contains execution results and artifacts

Secrets

Secure storage for sensitive test data.

Key Properties:

  • id: Unique identifier
  • name: Secret identifier
  • data: Encrypted secret value
  • description: Secret purpose
  • status: Usage tracking

Relationships:

  • Belongs to organization
  • Can be used by multiple tests

Data Flow

  1. Organization contains Projects
  2. Projects contain Tests
  3. Tests are composed of Steps via Test Steps
  4. Tests can be tagged with Tags
  5. Test Runs execute Tests with specific parameters
  6. Secrets provide secure data to Tests

Best Practices

Organization Structure

  • Create separate projects for different applications
  • Use consistent naming conventions
  • Set up appropriate user roles and permissions

Test Organization

  • Group related tests in folders
  • Use tags for cross-cutting concerns (smoke, regression, etc.)
  • Leverage shared steps for common actions

Data Management

  • Use variables for environment-specific values
  • Store secrets securely for sensitive data
  • Archive old test runs to manage storage