---
id: TST-PFM-OPS-107
title: Reconcile 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/reconcile-licences.integration.spec.js
implements: []
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/reconcile-licences.integration.spec.js
    at ad3f6a6582843008ed0f5a17b131878d15829af1: existing suite body, setup, assertions and cleanup.
binding_note: This existing engineering suite is registered without claiming a complete specification scenario.
assertion_sources:
  - >-
    services-platform:modules/licensing/tests/integration/services/sync/reconcile-licences.integration.spec.js#enqueues
    the company a tenant is linked to
  - >-
    services-platform:modules/licensing/tests/integration/services/sync/reconcile-licences.integration.spec.js#enqueues
    a company two tenants share only once, because one read answers both
  - >-
    services-platform:modules/licensing/tests/integration/services/sync/reconcile-licences.integration.spec.js#enqueues
    nothing for a tenant with no HubSpot company, which is every tenant until the key arrives
  - >-
    services-platform:modules/licensing/tests/integration/services/sync/reconcile-licences.integration.spec.js#says
    every message it published was for the nightly pass, which is what an operator reads in a log
  - >-
    services-platform:modules/licensing/tests/integration/services/sync/reconcile-licences.integration.spec.js#counts
    the companies it refused to enqueue when the queue would not take them
  - >-
    services-platform:modules/licensing/tests/integration/services/sync/reconcile-licences.integration.spec.js#writes
    the products HubSpot answered, so a staff screen can name a SKU
  - >-
    services-platform:modules/licensing/tests/integration/services/sync/reconcile-licences.integration.spec.js#enqueues
    every company even when the catalog could not be read, because unnamed SKUs are cosmetic and unread
    licences are not
  - >-
    services-platform:modules/licensing/tests/integration/services/sync/reconcile-licences.integration.spec.js#reads
    no catalog and enqueues nothing, and does not fail
---

# Reconcile 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 enumerate linked companies, refresh commercial product labels and publish nightly reads while distinguishing provider configuration and publication failures. No complete specification scenario is attributed to this suite yet.

## 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. Queue publication uses a recording publisher.

## Must Not Be Doubled

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