#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" TMP_DIR="$(mktemp -d)" trap 'rm -rf "${TMP_DIR}"' EXIT # shellcheck source=backend/scripts/smoke_common.sh source "${SCRIPT_DIR}/smoke_common.sh" wait_for_health create_fresh_scheme_from_upload "smoke-version-lifecycle" request "scheme_detail_initial" "GET" "${API_URL}/api/v1/schemes/${SCHEME_ID}" "200" assert_json_eq "${TMP_DIR}/scheme_detail_initial.body" "status" "draft" assert_json_int_eq "${TMP_DIR}/scheme_detail_initial.body" "current_version_number" "1" request "scheme_current_initial" "GET" "${API_URL}/api/v1/schemes/${SCHEME_ID}/current" "200" VERSION1_ID="$(json_get "${TMP_DIR}/scheme_current_initial.body" "scheme_version_id")" assert_json_int_eq "${TMP_DIR}/scheme_current_initial.body" "version_number" "1" assert_json_eq "${TMP_DIR}/scheme_current_initial.body" "status" "draft" echo "VERSION1_ID=${VERSION1_ID}" request "ensure_draft_v1" "POST" \ "${API_URL}/api/v1/schemes/${SCHEME_ID}/draft/ensure?expected_current_scheme_version_id=${VERSION1_ID}" \ "200" assert_json_eq "${TMP_DIR}/ensure_draft_v1.body" "scheme_version_id" "${VERSION1_ID}" assert_json_eq "${TMP_DIR}/ensure_draft_v1.body" "created" "false" request "draft_structure_v1" "GET" \ "${API_URL}/api/v1/schemes/${SCHEME_ID}/draft/structure?expected_scheme_version_id=${VERSION1_ID}" \ "200" read -r VERSION1_SEAT_RECORD_ID VERSION1_SEAT_ID ORIGINAL_ROW_LABEL ORIGINAL_SEAT_NUMBER <