public async Task ReplaceDocumentAsync_ShouldReplaceDocument_CollectionHasOriginalDocument() { // Arrange var inserted = new BsonDocument { ["Value"] = Fixture.Create <string>() }; await _destCollection.InsertOneAsync(inserted); // Act var replacement = new BsonDocument { ["_id"] = inserted["_id"], ["Value"] = "replaced" }; await _sut.ReplaceDocumentAsync(new ReplaceOneModel <BsonDocument>(replacement.GetFilterBy("_id"), replacement), CancellationToken.None); // Assert var afterReplace = _destCollection.FindSync(FilterDefinition <BsonDocument> .Empty).ToList(); afterReplace.Should().HaveCount(1).And.AllBeEquivalentTo(replacement); }