Browse Source

Added test for ArrayContext::isPrimaryKey()

Jose Lorenzo Rodriguez 12 years ago
parent
commit
624f038fbf
1 changed files with 39 additions and 0 deletions
  1. 39 0
      tests/TestCase/View/Form/ArrayContextTest.php

+ 39 - 0
tests/TestCase/View/Form/ArrayContextTest.php

@@ -63,6 +63,45 @@ class ArrayContextTest extends TestCase {
 	}
 
 /**
+ * Test isPrimaryKey.
+ *
+ * @return void
+ */
+	public function testIsPrimaryKey() {
+		$context = new ArrayContext($this->request, []);
+		$this->assertFalse($context->isPrimaryKey('id'));
+
+		$context = new ArrayContext($this->request, [
+			'schema' => [
+				'_constraints' => 'mistake',
+			]
+		]);
+		$this->assertFalse($context->isPrimaryKey('mistake'));
+
+		$data = [
+			'schema' => [
+				'_constraints' => [
+					'primary' => ['type' => 'primary', 'columns' => ['id']]
+				]
+			],
+		];
+		$context = new ArrayContext($this->request, $data);
+		$this->assertTrue($context->isPrimaryKey('id'));
+		$this->assertFalse($context->isPrimaryKey('name'));
+
+		$data = [
+			'schema' => [
+				'_constraints' => [
+					'primary' => ['type' => 'primary', 'columns' => ['id', 'name']]
+				]
+			],
+		];
+		$context = new ArrayContext($this->request, $data);
+		$this->assertTrue($context->isPrimaryKey('id'));
+		$this->assertTrue($context->isPrimaryKey('name'));
+	}
+
+/**
  * Test the isCreate method.
  *
  * @return void