Arango.Tests.TransactionOperationsTests.Should_execute_transaction_with_list_parameter_and_return_document_IDs C# (CSharp) Метод

Should_execute_transaction_with_list_parameter_and_return_document_IDs() приватный Метод

        public void Should_execute_transaction_with_list_parameter_and_return_document_IDs()
        {
            Database.ClearTestCollection(Database.TestDocumentCollectionName);
            var db = new ADatabase(Database.Alias);

            var transactionData = new List<TransactionEntity>
            {
                new TransactionEntity
                {
                    Foo = "string1"
                },
                new TransactionEntity
                {
                    Foo = "string2"
                },
                new TransactionEntity
                {
                    Foo = "string3"
                }
            };

            var transactionResult = db.Transaction
                .WriteCollection(Database.TestDocumentCollectionName)
                .Param("data", transactionData)
                .Execute<List<TransactionEntity>>(@"
                function (params) {
                    var db = require('internal').db;

                    for (var i = 0; i < params.data.length; i++) {
                        db." + Database.TestDocumentCollectionName + @".save(params.data[i]);
                    }

                    return db._query('FOR doc IN " + Database.TestDocumentCollectionName + @" SORT TO_NUMBER(doc._key) RETURN doc').toArray();
                }
                ");

            Assert.AreEqual(200, transactionResult.StatusCode);
            Assert.IsTrue(transactionResult.Success);
            Assert.IsTrue(transactionResult.HasValue);
            Assert.AreEqual(3, transactionResult.Value.Count);

            for (int i = 0; i < transactionResult.Value.Count; i++)
            {
                Assert.AreEqual(transactionData[i].Foo, transactionResult.Value[i].Foo);
            }
        }