---
id: TST-PFM-INT-522
title: disconnect discard uninstall
kind: integration
product_area: platform
module: integrations
revision: 1
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  macroservice-libraries: 54536a441935c6e09fdb7f96f0bec71c52ba4e03
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
repository: services-platform
files:
  - >-
    modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js
implements:
  - ATS-PFM-INT-003-07
  - ATS-PFM-INT-003-08
  - ATS-PFM-INT-004-08
environment: local
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 5
isolation: >-
  Use the suite-owned database fixtures and its declared cleanup; prepare the test database before
  integration or lifecycle execution.
evidence:
  - >-
    services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js
test_cases:
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#is
      refused as an IllegalOperation naming the connection and the number of bindings
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#lists
      each binding by id, capability key and major, scope kind and scope reference in the details
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#names
      each binding in the sentence a person reads
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#leaves
      the connection, its bindings and both trails as they were
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#writes
      no disconnection to the integration history or the security trail
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#ends
      a pending_auth connection disconnected, by the caller, with a reason saying it was discarded before
      it was ever connected
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#ends
      a verifying connection disconnected, by the caller, with a reason saying it was discarded before it
      was ever connected
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#ends
      a failed_verification connection disconnected, by the caller, with a reason saying it was discarded
      before it was ever connected
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#says
      Discarded before it was ever connected, and keeps the reason the administrator gave
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#writes
      connection.discarded to the integration history, with the state it was discarded from
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#writes
      connection.discarded to the security trail, before and after
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#destroys
      the credential on the normal schedule
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#disconnects,
      rather than discards, a failed_verification connection that was active before, destroying its
      credential and letting the installation be uninstalled (INTG-M1 D12)
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#refuses
      a connection that was connected before, whatever it is now, leaving it as it was
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#refuses
      a connection in another tenant as not found, leaving it as it was
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#no
      longer blocks uninstalling its integration
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#is
      refused while a connection is not disconnected, naming each by id, name and status
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#names
      the connections in the sentence a person reads
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#leaves
      the installation enabled and writes nothing to its history when refused
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#succeeds
      once the connections are disconnected and discarded, recording it in both trails
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#disconnects
      a degraded connection, recording who and why in both trails
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#refuses
      to uninstall a suspended installation while a connection is not disconnected, naming it
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#uninstalls
      a suspended installation once every connection is disconnected, recording where it came from
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#writes
      a delivery for a contact change while the installation is installed
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#is
      still refused while its connection is connected, and removes no subscription for the refusal
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#removes
      every subscription of the installation with the uninstallation, and no other installation’s
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#records
      the removal of each in the integration history and the count on the installation
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#writes
      no further delivery for the installation, while another installation’s subscription still receives
      one
    provenance: test
dependency_evidence:
  provenance: test
  source: >-
    services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js
  reviewed:
    - Suite introduction
    - Fixture setup
    - Client substitutions
    - Assertions and cleanup
---
# disconnect discard uninstall

## Verification Boundary

This database and service suite exercises disconnect discard uninstall. Its registration records the executable definition; no run result is asserted.

## What This Suite Proves

The bindings identify the detailed outcomes asserted by this suite. Test-level evidence retains the individual checks, including cases where several suites contribute to one scenario.

## What It Does Not Prove

In-process execution does not establish deployed infrastructure or a real provider response. Several bindings can supply different parts of a detailed scenario; no single-file completeness is implied.

## Real Dependencies and Test Doubles

The suite definition identifies its database fixtures and replaced clients, hooks, clocks or executors. Integration runs use the prepared database; lifecycle runs exercise the in-process route or adapter path.

## Must Not Be Doubled

The database constraints, transactions and service behavior claimed by an integration binding must execute. Replaced external seams cannot establish live provider or infrastructure behavior.
