$admin->addUser($bob); $admin->addUser($joe); $admin->addUser($blah); $expectArray = array($bob, $joe, $blah); $actualArray = $admin->getUsers(); expect($actualArray)->to->be->{$expectArray}; }); }); describe('->removeUser()', function () { it('should return a list of users', function () { $admin = new Admin(); expect($admin)->to->be->instanceof('Notes\\Domain\\Entity\\UserGroup\\Admin'); $bob = new User(new StringLiteral('Bob')); $joe = new User(new StringLiteral('joe')); $blah = new User(new StringLiteral('Blah')); $admin->addUser($bob); $admin->addUser($joe); $admin->addUser($blah); $admin->removeUser($blah); $expectArray = array($bob, $joe); $actualArray = $admin->getUsers(); expect($actualArray)->to->be->{$expectArray}; }); }); describe('->getName()', function () { it('should return the default name of the group', function () { $admin = new Admin(); expect($admin->getName())->equal('Admin'); }); }); });
$user2 = new User(new Uuid(), $username1, $password2, $email3, $firstName4, $lastName5); $user1Key = $user1->getUserID(); $user2Key = $user2->getUserID(); $initialUsers = array($user1Key => $user1, $user2Key => $user2); $groupName = "cs3620"; $actual = new Admin(new Uuid(), $groupName, $initialUsers); // create new Admin group with name cs3620 and add an array with 2 users as initial users expect($actual->getUser($user1Key))->equal($user1); $actual->removeUser($user1Key); expect($actual->containsUser($user1Key))->to->be->false; }); }); //todo figure out update describe('->updateUser(swagzilla)', function () { it('should update a user in an admin user group', function () { $actual = new Admin(); $userKey = new Uuid(); $username = "******"; $password = "******"; $email = "*****@*****.**"; $firstName = "Gary"; $lastName = "Grice"; $user1 = new User($userKey, $username, $password, $email, $firstName, $lastName); $user1Key = $user1->getUserID(); $actual->addUser($user1); expect($actual->getUser($user1Key))->equal($user1); $passwordU = "OldDannyBrown12\$"; $emailU = "*****@*****.**"; $updatedUser1 = new User($userKey, $username, $passwordU, $emailU, $firstName, $lastName); $actual->updateUser($user1Key, '', '', $passwordU, $emailU, ''); expect($actual->getUser($user1Key)->getEmail())->equal($updatedUser1->getEmail());
<?php use Notes\Domain\Entity\UserGroup\Admin; use Notes\Domain\ValueObject\Permissions; describe('Notes\\Domain\\Entity\\UserGroup\\Admin', function () { describe('->__construct()', function () { it('should return an Admin object', function () { $actual = new Admin(); expect($actual)->to->be->instanceof('\\Notes\\Domain\\Entity\\UserGroup\\Admin'); }); }); describe('->getPermissions()', function () { it('should return an array of permission constants', function () { $actual = new Admin(); $permissions = $actual->getPermissions(); expect(is_array($permissions))->equal(true); expect(count($permissions))->equal(4); }); }); describe('->hasPermission()', function () { it('should return whether or not Admin has permission', function () { $actual = new Admin(); expect($actual->hasPermission(Permissions::ADD_USER))->equal(true); expect($actual->hasPermission(Permissions::READ_USER))->equal(true); expect($actual->hasPermission(Permissions::MODIFY_USER))->equal(true); expect($actual->hasPermission(Permissions::DELETE_USER))->equal(true); }); }); });
expect($actual->containsUser($user1Key))->to->be->false; }); }); describe('->updateUser(swagzilla)', function () { it('should add a user to an empty Admin usergroup', function () { $actual = new Admin(); $username = "******"; $password = "******"; $email = "*****@*****.**"; $firstName = "Gary"; $lastName = "Grice"; $user1 = new User($username, $password, $email, $firstName, $lastName); $user1Key = $user1->getUserID(); $actual->addUser($user1); expect($actual->getUser($user1Key))->equal($user1); $passwordU = "OldDannyBrown12\$"; $emailU = "*****@*****.**"; $updatedUser1 = new User($username, $passwordU, $emailU, $firstName, $lastName); $actual->updateUser($user1Key, '', '', $passwordU, $emailU, ''); expect($actual->getUser($user1Key))->equal($updatedUser1); }); }); describe('->setCanManipulateNotes()', function () { it('determines whether or not a group can manage users if a user is added to the banned Admin group then they cant create or edit notes', function () { $actual = new Admin(); $actual->setName("banned"); $actual->setCanManipulateNotes(false); expect($actual->canManageUsers())->to->be->false; }); }); });