diff --git a/test/test_examples.py b/test/test_examples.py index 02b178586..296283db2 100644 --- a/test/test_examples.py +++ b/test/test_examples.py @@ -866,6 +866,38 @@ class TestSampleShellCommands(IntegrationTest): ) # End Aggregation Example 4 + @client_context.require_version_min(4, 4) + def test_aggregate_projection_example(self): + db = self.db + + # Start Aggregation Projection Example 1 + db.inventory.find( + {}, + { + "_id": 0, + "item": 1, + "status": { + "$switch": { + "branches": [ + {"case": {"$eq": ["$status", "A"]}, "then": "Available"}, + {"case": {"$eq": ["$status", "D"]}, "then": "Discontinued"}, + ], + "default": "No status found", + } + }, + "area": { + "$concat": [ + {"$toString": {"$multiply": ["$size.h", "$size.w"]}}, + " ", + "$size.uom", + ] + }, + "reportNumber": {"$literal": 1}, + }, + ) + + # End Aggregation Projection Example 1 + def test_commands(self): db = self.db db.restaurants.insert_one({})