예제 #1
0
 public function testBizRuleViaParams()
 {
     $perm = new Permission(['code' => 'test', 'name' => 'Test codename', 'is_default' => true, 'bizrule' => '$params["foo"]=="bar"']);
     $this->assertTrue($perm->isValid());
     $this->assertTrue($perm->save());
     $user = User::objects()->createUser('foo', 'bar', '*****@*****.**');
     $this->assertEquals(1, $user->permissions->count());
     $this->p->fetchData();
     $this->assertTrue($this->app->permissions->canBizRule('test', ['foo' => 'bar']));
     $this->assertFalse($this->app->permissions->canBizRule('test', ['foo' => 'default']));
     $this->assertTrue($user->can('test', ['foo' => 'bar'], false));
     $this->assertFalse($user->can('test', ['foo' => 'default'], false));
 }