<?xml version="1.0"?>
<testsuites>
  <testsuite name="01 · Health и контракт" file="scenarios\01-health.bru" errors="0" failures="0" skipped="0" tests="5" timestamp="2026-11-13T08:57:43.805" hostname="local-demo" time="0.156">
    <testcase name="res.status eq 200" status="pass" classname="scenarios\01-health" time="0.031"/>
    <testcase name="res.body.status eq ok" status="pass" classname="scenarios\01-health" time="0.031"/>
    <testcase name="Health returns 200" status="pass" classname="scenarios\01-health" time="0.031"/>
    <testcase name="Service identity is stable" status="pass" classname="scenarios\01-health" time="0.031"/>
    <testcase name="Version is a number" status="pass" classname="scenarios\01-health" time="0.031"/>
  </testsuite>
  <testsuite name="02 · Параметры и пагинация" file="scenarios\02-pagination.bru" errors="0" failures="0" skipped="0" tests="3" timestamp="2026-11-13T08:57:43.806" hostname="local-demo" time="0.070">
    <testcase name="Pagination returns 200" status="pass" classname="scenarios\02-pagination" time="0.023"/>
    <testcase name="Second active page has IDs4and5" status="pass" classname="scenarios\02-pagination" time="0.023"/>
    <testcase name="Total is4active services" status="pass" classname="scenarios\02-pagination" time="0.023"/>
  </testsuite>
  <testsuite name="03 · Создать заявку из JSON" file="scenarios\03-create.bru" errors="0" failures="0" skipped="0" tests="3" timestamp="2026-11-13T08:57:43.807" hostname="local-demo" time="0.139">
    <testcase name="Create returns 201" status="pass" classname="scenarios\03-create" time="0.046"/>
    <testcase name="ID saved for next request" status="pass" classname="scenarios\03-create" time="0.046"/>
    <testcase name="Quantity is preserved" status="pass" classname="scenarios\03-create" time="0.046"/>
  </testsuite>
  <testsuite name="04 · Цепочка по ID из ответа" file="scenarios\04-read-created.bru" errors="0" failures="0" skipped="0" tests="3" timestamp="2026-11-13T08:57:43.807" hostname="local-demo" time="0.061">
    <testcase name="Created order can be read" status="pass" classname="scenarios\04-read-created" time="0.020"/>
    <testcase name="Read ID matches runtime variable" status="pass" classname="scenarios\04-read-created" time="0.020"/>
    <testcase name="Order remains a draft" status="pass" classname="scenarios\04-read-created" time="0.020"/>
  </testsuite>
  <testsuite name="05 · Ошибки полей422" file="scenarios\05-validation.bru" errors="0" failures="0" skipped="0" tests="3" timestamp="2026-11-13T08:57:43.807" hostname="local-demo" time="0.055">
    <testcase name="Invalid input returns422" status="pass" classname="scenarios\05-validation" time="0.018"/>
    <testcase name="Customer error is useful" status="pass" classname="scenarios\05-validation" time="0.018"/>
    <testcase name="Quantity error is present" status="pass" classname="scenarios\05-validation" time="0.018"/>
  </testsuite>
  <testsuite name="06a · Нет токена401" file="scenarios\06a-unauthorized.bru" errors="0" failures="0" skipped="0" tests="2" timestamp="2026-11-13T08:57:43.807" hostname="local-demo" time="0.069">
    <testcase name="Protected endpoint refuses missing token" status="pass" classname="scenarios\06a-unauthorized" time="0.034"/>
    <testcase name="Authentication error is explicit" status="pass" classname="scenarios\06a-unauthorized" time="0.034"/>
  </testsuite>
  <testsuite name="06b · Учебная сессия" file="scenarios\06b-demo-session.bru" errors="0" failures="0" skipped="0" tests="2" timestamp="2026-11-13T08:57:43.807" hostname="local-demo" time="0.110">
    <testcase name="Demo session returns200" status="pass" classname="scenarios\06b-demo-session" time="0.055"/>
    <testcase name="Runtime demo token exists" status="pass" classname="scenarios\06b-demo-session" time="0.055"/>
  </testsuite>
  <testsuite name="06c · Bearer из предыдущего ответа" file="scenarios\06c-authorized.bru" errors="0" failures="0" skipped="0" tests="2" timestamp="2026-11-13T08:57:43.807" hostname="local-demo" time="0.062">
    <testcase name="Demo Bearer opens endpoint" status="pass" classname="scenarios\06c-authorized" time="0.031"/>
    <testcase name="Permission matches demo scope" status="pass" classname="scenarios\06c-authorized" time="0.031"/>
  </testsuite>
  <testsuite name="07 · Rate limit и Retry-After" file="scenarios\07-rate-limit.bru" errors="0" failures="0" skipped="0" tests="3" timestamp="2026-11-13T08:57:43.807" hostname="local-demo" time="0.061">
    <testcase name="Rate limited response is429" status="pass" classname="scenarios\07-rate-limit" time="0.020"/>
    <testcase name="Retry-After is two seconds" status="pass" classname="scenarios\07-rate-limit" time="0.020"/>
    <testcase name="Error is machine readable" status="pass" classname="scenarios\07-rate-limit" time="0.020"/>
  </testsuite>
  <testsuite name="08 · Исправленная проверка контракта" file="scenarios\08-contract-fixed.bru" errors="0" failures="0" skipped="0" tests="2" timestamp="2026-11-13T08:57:43.807" hostname="local-demo" time="0.061">
    <testcase name="Contract returns200" status="pass" classname="scenarios\08-contract-fixed" time="0.030"/>
    <testcase name="Total matches agreed contract" status="pass" classname="scenarios\08-contract-fixed" time="0.030"/>
  </testsuite>
</testsuites>