1: <?php
2: namespace tests\unit\lib;
3: use Azalea\Core\Config\ConfigManager;
4: use Azalea\Core\Environment\Environment;
5: use Azalea\Core\Config\RepositoryMemoryLoader;
6: use Azalea\Core\Util\NestedHashMap;
7: use Azalea\Shared\System\Url\UrlManager;
8: use barebones\lib\filesystem\PathManager;
9: use tests\unit\BaseUnitTestCase;
10: use Symfony\Component\HttpFoundation\Request;
11:
12: use barebones\lib\variants\rules\AzaleaUserRule;
13: use barebones\lib\variants\rules\ClientRule;
14: use barebones\lib\variants\rules\CustomerRule;
15: use barebones\lib\variants\rules\UserRule;
16:
17: class VariantRulesTest extends BaseUnitTestCase
18: {
19: public function testUserRule()
20: {
21: $userRule = new UserRule();
22:
23: $this->assertTrue($userRule->test(1042, new NestedHashMap(array("usr_id" => 1042))));
24: $this->assertFalse($userRule->test(1042, new NestedHashMap(array("usr_id" => 100))));
25:
26: $this->assertTrue($userRule->test(array(1042), new NestedHashMap(array("usr_id" => 1042))));
27: $this->assertFalse($userRule->test(array(1042), new NestedHashMap(array("usr_id" => 100))));
28:
29: $this->assertTrue($userRule->test(array(1042, 2015, 300), new NestedHashMap(array("usr_id" => 1042))));
30: $this->assertFalse($userRule->test(array(1042, 2015, 300), new NestedHashMap(array("usr_id" => 100))));
31:
32: $this->assertFalse($userRule->test(1042, new NestedHashMap(array())));
33: }
34:
35: public function testCustomerRule()
36: {
37: $customerRule = new CustomerRule();
38:
39: $this->assertTrue($customerRule->test(1042, new NestedHashMap(array("cus_id" => 1042))));
40: $this->assertFalse($customerRule->test(1042, new NestedHashMap(array("cus_id" => 100))));
41:
42: $this->assertTrue($customerRule->test(array(1042), new NestedHashMap(array("cus_id" => 1042))));
43: $this->assertFalse($customerRule->test(array(1042), new NestedHashMap(array("cus_id" => 100))));
44:
45: $this->assertTrue($customerRule->test(array(1042, 2015, 300), new NestedHashMap(array("cus_id" => 1042))));
46: $this->assertFalse($customerRule->test(array(1042, 2015, 300), new NestedHashMap(array("cus_id" => 100))));
47:
48: $this->assertFalse($customerRule->test(1042, new NestedHashMap(array())));
49: }
50:
51: public function testClientRule()
52: {
53: $clientRule = new ClientRule();
54:
55: $this->assertTrue($clientRule->test(1042, new NestedHashMap(array("cli_id" => 1042))));
56: $this->assertFalse($clientRule->test(1042, new NestedHashMap(array("cli_id" => 100))));
57:
58: $this->assertTrue($clientRule->test(array(1042), new NestedHashMap(array("cli_id" => 1042))));
59: $this->assertFalse($clientRule->test(array(1042), new NestedHashMap(array("cli_id" => 100))));
60:
61: $this->assertTrue($clientRule->test(array(1042, 2015, 300), new NestedHashMap(array("cli_id" => 1042))));
62: $this->assertFalse($clientRule->test(array(1042, 2015, 300), new NestedHashMap(array("cli_id" => 100))));
63:
64: $this->assertFalse($clientRule->test(1042, new NestedHashMap(array())));
65: }
66:
67: public function testAzaleaUserRule()
68: {
69: $azaleaUserRule = new AzaleaUserRule();
70:
71: $this->assertTrue($azaleaUserRule->test(true, new NestedHashMap(array("is_ahi" => true))));
72: $this->assertTrue($azaleaUserRule->test(false, new NestedHashMap(array("is_ahi" => false))));
73:
74: $this->assertFalse($azaleaUserRule->test(false, new NestedHashMap(array("is_ahi" => true))));
75: $this->assertFalse($azaleaUserRule->test(true, new NestedHashMap(array("is_ahi" => false))));
76: }
77: }
78: