Browse Source

Test to prove #7589

Walther Lalk 10 years ago
parent
commit
bebed235ee
1 changed files with 23 additions and 0 deletions
  1. 23 0
      tests/TestCase/ORM/QueryTest.php

+ 23 - 0
tests/TestCase/ORM/QueryTest.php

@@ -18,6 +18,7 @@ use Cake\Database\Expression\IdentifierExpression;
 use Cake\Database\Expression\OrderByExpression;
 use Cake\Database\Expression\QueryExpression;
 use Cake\Database\TypeMap;
+use Cake\Database\ValueBinder;
 use Cake\Datasource\ConnectionManager;
 use Cake\ORM\Query;
 use Cake\ORM\ResultSet;
@@ -1552,6 +1553,28 @@ class QueryTest extends TestCase
     }
 
     /**
+     * test count with a beforeFind.
+     *
+     * @return void
+     */
+    public function testBeforeFindCalledOnce()
+    {
+        $callCount = 0;
+        $table = TableRegistry::get('Articles');
+        $table->eventManager()
+            ->attach(function ($event, $query) use (&$callCount) {
+                $valueBinder = new ValueBinder();
+                $query->sql($valueBinder);
+                $callCount++;
+            }, 'Model.beforeFind');
+
+        $query = $table->find();
+        $valueBinder = new ValueBinder();
+        $query->sql($valueBinder);
+        $this->assertSame(1, $callCount);
+    }
+
+    /**
      * Test that count() returns correct results with group by.
      *
      * @return void