99 lines
2.6 KiB
YAML
99 lines
2.6 KiB
YAML
description: "replaceOne-let"
|
|
|
|
schemaVersion: "1.0"
|
|
|
|
createEntities:
|
|
- client:
|
|
id: &client0 client0
|
|
observeEvents: [ commandStartedEvent ]
|
|
- database:
|
|
id: &database0 database0
|
|
client: *client0
|
|
databaseName: &database0Name crud-tests
|
|
- collection:
|
|
id: &collection0 collection0
|
|
database: *database0
|
|
collectionName: &collection0Name coll0
|
|
|
|
initialData: &initialData
|
|
- collectionName: *collection0Name
|
|
databaseName: *database0Name
|
|
documents:
|
|
- { _id: 1 }
|
|
- { _id: 2 }
|
|
|
|
tests:
|
|
- description: "ReplaceOne with let option"
|
|
runOnRequirements:
|
|
- minServerVersion: "5.0"
|
|
operations:
|
|
- name: replaceOne
|
|
object: *collection0
|
|
arguments:
|
|
filter: &filter
|
|
$expr:
|
|
$eq: [ "$_id", "$$id" ]
|
|
replacement: &replacement
|
|
x: "foo"
|
|
let: &let
|
|
id: 1
|
|
expectResult:
|
|
matchedCount: 1
|
|
modifiedCount: 1
|
|
upsertedCount: 0
|
|
expectEvents:
|
|
- client: *client0
|
|
events:
|
|
- commandStartedEvent:
|
|
command:
|
|
update: *collection0Name
|
|
updates:
|
|
-
|
|
q: *filter
|
|
u: *replacement
|
|
multi: { $$unsetOrMatches: false }
|
|
upsert: { $$unsetOrMatches: false }
|
|
let: *let
|
|
outcome:
|
|
-
|
|
collectionName: *collection0Name
|
|
databaseName: *database0Name
|
|
documents:
|
|
- { _id: 1, x: "foo" }
|
|
- { _id: 2 }
|
|
|
|
- description: "ReplaceOne with let option unsupported (server-side error)"
|
|
runOnRequirements:
|
|
- minServerVersion: "3.6.0"
|
|
maxServerVersion: "4.4.99"
|
|
operations:
|
|
- name: replaceOne
|
|
object: *collection0
|
|
arguments:
|
|
filter: *filter
|
|
replacement: *replacement
|
|
let: *let
|
|
expectError:
|
|
errorContains: "'update.let' is an unknown field"
|
|
isClientError: false
|
|
expectEvents:
|
|
- client: *client0
|
|
events:
|
|
- commandStartedEvent:
|
|
command:
|
|
update: *collection0Name
|
|
updates:
|
|
-
|
|
q: *filter
|
|
u: *replacement
|
|
multi: { $$unsetOrMatches: false }
|
|
upsert: { $$unsetOrMatches: false }
|
|
let: *let
|
|
outcome:
|
|
-
|
|
collectionName: *collection0Name
|
|
databaseName: *database0Name
|
|
documents:
|
|
- { _id: 1 }
|
|
- { _id: 2 }
|