description: "entity-client-storeEventsAsEntities"

schemaVersion: "1.2"

createEntities:
  - client:
      id: &client0 client0
      storeEventsAsEntities:
        - id: client0_events
          events: ["CommandStartedEvent", "CommandSucceededEvent", "CommandFailedEvent"]
  - database:
      id: &database0 database0
      client: *client0
      databaseName: &database0Name test
  - collection:
      id: &collection0 collection0
      database: *database0
      collectionName: &collection0Name coll0

initialData:
  - collectionName: *collection0Name
    databaseName: *database0Name
    documents:
      - { _id: 1, x: 11 }

tests:
  # Note: this test does not assert that the events are actually saved to the
  # entity since there is presently no assertion syntax to do so. We are only
  # asserting that the test executes successfully.
  - description: "storeEventsAsEntities captures events"
    operations:
      - name: find
        object: *collection0
        arguments:
          filter: {}
        expectResult:
          - { _id: 1, x: 11 }
