---
id: TST-PFM-OPS-108
title: Sync company licences
kind: integration
product_area: platform
module: operations
revision: 1
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
repository: services-platform
files:
  - modules/licensing/tests/integration/services/sync/sync-company-licences.integration.spec.js
implements:
  - ATS-PFM-OPS-012-08
  - ATS-PFM-OPS-012-09
  - ATS-PFM-OPS-012-10
  - ATS-PFM-OPS-012-13
environment: local
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 5
estimate_basis: Scheduling estimate only; no duration is measured during this documentation pass.
isolation: >-
  The prepared local test database and suite-owned identifiers; existing hooks control rollback or
  cleanup.
evidence:
  - >-
    services-platform:modules/licensing/tests/integration/services/sync/sync-company-licences.integration.spec.js
    at ad3f6a6582843008ed0f5a17b131878d15829af1: existing suite body, setup, assertions and cleanup.
binding_note: Bindings apply only to the listed specification scenarios.
assertion_sources:
  - >-
    services-platform:modules/licensing/tests/integration/services/sync/sync-company-licences.integration.spec.js#writes
    the snapshot, the windows and the health row in one go
  - >-
    services-platform:modules/licensing/tests/integration/services/sync/sync-company-licences.integration.spec.js#expands
    the core bundle into every application that SKU licenses
  - >-
    services-platform:modules/licensing/tests/integration/services/sync/sync-company-licences.integration.spec.js#licenses
    nothing for a company HubSpot has no contracts for, and that is not a failure
  - >-
    services-platform:modules/licensing/tests/integration/services/sync/sync-company-licences.integration.spec.js#asks
    for one flush of the authorizer\u2019s caches, naming the company
  - >-
    services-platform:modules/licensing/tests/integration/services/sync/sync-company-licences.integration.spec.js#extends
    the licence to the end of the new term, as one window
  - >-
    services-platform:modules/licensing/tests/integration/services/sync/sync-company-licences.integration.spec.js#names
    both contracts behind the window it merged them into
  - >-
    services-platform:modules/licensing/tests/integration/services/sync/sync-company-licences.integration.spec.js#changes
    nothing and asks for no second flush when the read is the same as the last
  - >-
    services-platform:modules/licensing/tests/integration/services/sync/sync-company-licences.integration.spec.js#takes
    the licence away when the contract is no longer in force
---

# Sync company licences

## Verification Boundary

This suite exercises application licensing through production operations against the local database. Its implementation is present at the pinned source revision, and this register records no execution result.

## What This Suite Proves

The checks replace copied commercial evidence, derive changed licence windows and inspect synchronization health and refresh requests under provider failures and repeated input. The scenario bindings name the attributed outcomes.

## What It Does Not Prove

Local execution does not establish deployed infrastructure, live commercial-provider configuration or authorization-cache completion. Registration and an implemented suite do not establish a passing result.

## Real Dependencies and Test Doubles

The prepared PostgreSQL database and production operations under test are real. Commercial-provider responses use the suite’s scripted inputs where declared. The suite controls time where boundary checks require it.

## Must Not Be Doubled

The persistence operations, database constraints and reads under assertion remain real.
