Add tests for TokenProcessor::getContextValues()
authorAidan Saunders <aidan.saunders@squiffle.uk>
Thu, 29 Nov 2018 13:00:40 +0000 (13:00 +0000)
committerAidan Saunders <aidan.saunders@squiffle.uk>
Mon, 3 Dec 2018 12:10:14 +0000 (12:10 +0000)
tests/phpunit/Civi/Token/TokenProcessorTest.php

index 362c465a1740eebab2ff924664b9ce5224e2e120..aadb596f4dd5911734e8bbc9b3250bd55cd8225e 100644 (file)
@@ -58,6 +58,22 @@ class TokenProcessorTest extends \CiviUnitTestCase {
     }
   }
 
+  /**
+   * Check that getContextValues() returns the correct data
+   */
+  public function testGetContextValues() {
+    $p = new TokenProcessor($this->dispatcher, array(
+      'controller' => __CLASS__,
+      'omega' => '99',
+    ));
+    $p->addRow()->context('id', 10)->context('omega', '98');
+    $p->addRow()->context('id', 10)->context('contact', (object) ['cid' => 10]);
+    $p->addRow()->context('id', 11)->context('contact', (object) ['cid' => 11]);
+    $this->assertArrayValuesEqual([10, 11], $p->getContextValues('id'));
+    $this->assertArrayValuesEqual(['99', '98'], $p->getContextValues('omega'));
+    $this->assertArrayValuesEqual([10, 11], $p->getContextValues('contact', 'cid'));
+  }
+
   /**
    * Check that the TokenRow helper can correctly read/update token
    * values.