{
  "scenario": "A draft keeps its uploaded file after an environment round trip and reload",
  "failsOnBase": true,
  "passesOnHead": true,
  "baseSha": "00ec286fef2c84d187f6acc8a524a0502c93a549",
  "headSha": "80a480562e274177f08dab7d68e7866644c59fa9",
  "verdict": "Proven: the scenario fails on base `00ec286fef` and passes on head `80a480562e`.",
  "steps": {
    "base": [
      {
        "step": "app.open <pairing link>",
        "status": "passed"
      },
      {
        "step": "expect.not.toHaveURL /\\/pair(?:[?#]|$)/",
        "status": "passed"
      },
      {
        "step": "browser.evaluate ",
        "status": "passed"
      },
      {
        "step": "locator.tap getByText(\"or start without a project\")",
        "status": "passed"
      },
      {
        "step": "locator.fill locator(\"[contenteditable=\\\"true\\\"]\")",
        "status": "passed"
      },
      {
        "step": "browser.evaluate ",
        "status": "passed"
      },
      {
        "step": "app.screenshot uploaded-in-a",
        "status": "passed"
      },
      {
        "step": "locator.tap locator(\"[data-composer-shortcut~=\\\"composer.host\\\"]\").last()",
        "status": "passed"
      },
      {
        "step": "app.screenshot environment-picker",
        "status": "passed"
      },
      {
        "step": "browser.route \"**/api/attachments/upload/**\"",
        "status": "passed"
      },
      {
        "step": "locator.tap getByRole(\"menuitemradio\", name: \"Environment B\")",
        "status": "passed"
      },
      {
        "step": "browser.evaluate ",
        "status": "passed"
      },
      {
        "step": "app.screenshot replacement-upload-failed",
        "status": "passed"
      },
      {
        "step": "locator.tap locator(\"[data-composer-shortcut~=\\\"composer.host\\\"]\").last()",
        "status": "passed"
      },
      {
        "step": "locator.tap getByRole(\"menuitemradio\", name: \"Scenario\")",
        "status": "passed"
      },
      {
        "step": "browser.reload ",
        "status": "passed"
      },
      {
        "step": "locator.waitFor getByText(\"review-notes.txt\") \u2192 visible",
        "status": "passed"
      },
      {
        "step": "app.screenshot returned-to-a-after-reload",
        "status": "passed"
      },
      {
        "step": "expect.toBeEnabled getByRole(\"button\", name: \"Submit message\")",
        "status": "failed"
      }
    ],
    "head": [
      {
        "step": "app.open <pairing link>",
        "status": "passed"
      },
      {
        "step": "expect.not.toHaveURL /\\/pair(?:[?#]|$)/",
        "status": "passed"
      },
      {
        "step": "browser.evaluate ",
        "status": "passed"
      },
      {
        "step": "locator.tap getByText(\"or start without a project\")",
        "status": "passed"
      },
      {
        "step": "locator.fill locator(\"[contenteditable=\\\"true\\\"]\")",
        "status": "passed"
      },
      {
        "step": "browser.evaluate ",
        "status": "passed"
      },
      {
        "step": "app.screenshot uploaded-in-a",
        "status": "passed"
      },
      {
        "step": "locator.tap locator(\"[data-composer-shortcut~=\\\"composer.host\\\"]\").last()",
        "status": "passed"
      },
      {
        "step": "app.screenshot environment-picker",
        "status": "passed"
      },
      {
        "step": "browser.route \"**/api/attachments/upload/**\"",
        "status": "passed"
      },
      {
        "step": "locator.tap getByRole(\"menuitemradio\", name: \"Environment B\")",
        "status": "passed"
      },
      {
        "step": "browser.evaluate ",
        "status": "passed"
      },
      {
        "step": "app.screenshot replacement-upload-failed",
        "status": "passed"
      },
      {
        "step": "locator.tap locator(\"[data-composer-shortcut~=\\\"composer.host\\\"]\").last()",
        "status": "passed"
      },
      {
        "step": "locator.tap getByRole(\"menuitemradio\", name: \"Scenario\")",
        "status": "passed"
      },
      {
        "step": "browser.reload ",
        "status": "passed"
      },
      {
        "step": "locator.waitFor getByText(\"review-notes.txt\") \u2192 visible",
        "status": "passed"
      },
      {
        "step": "app.screenshot returned-to-a-after-reload",
        "status": "passed"
      },
      {
        "step": "expect.toBeEnabled getByRole(\"button\", name: \"Submit message\")",
        "status": "passed"
      }
    ]
  },
  "markdown": "### Scenario: A draft keeps its uploaded file after an environment round trip and reload\n\n**Proven: the scenario fails on base `00ec286fef` and passes on head `80a480562e`.**\n\n|  | Base `00ec286fef` | Head `80a480562e` |\n| --- | --- | --- |\n| Result | \u274c failed<br>ASSERTION_FAILED: expect.toBeEnabled failed<br>locator: getByRole(\"button\", name: \"Submit message\")<br>expected: enabled<br>observed: no node (match count 0) | \u2705 passed |\n| uploaded in a | ![Base 00ec286fef: uploaded in a](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/50cd904feaad47b4/001-uploaded-in-a.png) | ![Head 80a480562e: uploaded in a](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8bae2791f071ed55/001-uploaded-in-a.png) |\n| environment picker | ![Base 00ec286fef: environment picker](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/94a6f9cda9b8ff71/002-environment-picker.png) | ![Head 80a480562e: environment picker](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/36b20cadb440ade3/002-environment-picker.png) |\n| replacement upload failed | ![Base 00ec286fef: replacement upload failed](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/154c2926ec4aae34/003-replacement-upload-failed.png) | ![Head 80a480562e: replacement upload failed](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e0183612425dc0c8/003-replacement-upload-failed.png) |\n| returned to a after reload | ![Base 00ec286fef: returned to a after reload](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/643b2983dbca376c/004-returned-to-a-after-reload.png) | ![Head 80a480562e: returned to a after reload](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/219ad7707c964b86/004-returned-to-a-after-reload.png) |\n| failure | ![Base 00ec286fef: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fa70c78408e04fe5/005-failure.png) |  |\n"
}