Ejemplo n.º 1
0
 public function requireAuthenticationForRoute(FunctionalTester $I)
 {
     $I->haveEnabledFilters();
     $I->amOnPage('/secure');
     $I->seeCurrentUrlEquals('/auth/login');
     $I->see('Login');
     $I->amLoggedAs(User::create($this->userAttributes));
     $I->amOnPage('/secure');
     $I->seeResponseCodeIs(200);
     $I->see('Hello World');
 }
Ejemplo n.º 2
0
 public function requireAuthenticationForRoute(FunctionalTester $I)
 {
     $I->dontSeeAuthentication();
     $I->amOnPage('/secure');
     $I->seeCurrentUrlEquals('/auth/login');
     $I->see('Login');
     $I->amLoggedAs(User::firstOrNew($this->userAttributes));
     $I->amOnPage('/secure');
     $I->seeResponseCodeIs(200);
     $I->see('Hello World');
 }
Ejemplo n.º 3
0
 /**
  * @param FunctionalTester $I
  *
  * @actor FunctionalTester
  *
  * @return void
  */
 public function deleteUser(FunctionalTester $I)
 {
     $I->am('Admin User');
     $I->wantTo('delete an existing user details');
     $admin = $I->createUser(1, 4);
     $user = $I->createUser(2, 1);
     $user1 = $I->createUser(3, 2);
     $I->amLoggedAs($admin);
     $I->amOnAction('Administration\\UsersController@getDelete', ['user' => $user]);
     $I->seeCurrentActionIs('Administration\\UsersController@getIndex');
     $I->dontSee($user->fullname);
     $I->see($user1->fullname);
 }
Ejemplo n.º 4
0
 public function viewInvalidNote(FunctionalTester $I)
 {
     $I->am('Normal User');
     $I->expectTo('see 401 error with mismatch note route parameters.');
     $admin = $I->createUser(1, 4);
     // admin
     $project1 = $I->createProject(1, [$admin]);
     $project2 = $I->createProject(2, [$admin]);
     $note1 = $I->createNote(1, $admin, $project1);
     $I->amLoggedAs($admin);
     $I->amOnAction('ProjectController@getNotes', ['project' => $project1]);
     $uri = $I->getApplication()->url->action('ProjectController@postEditNote', ['project' => $project2, 'note' => $note1], false);
     $I->sendAjaxPostRequest($uri, ['body' => 'note one updated', '_token' => csrf_token()]);
     $I->seeResponseCodeIs(401);
 }
Ejemplo n.º 5
0
 /**
  * @param FunctionalTester $I
  *
  * @actor FunctionalTester
  *
  * @return void
  */
 public function deleteProject(FunctionalTester $I)
 {
     $I->am('Admin User');
     $I->wantTo('delete an existing project details');
     $project = $I->createProject(1);
     $admin = $I->createUser(1, 4);
     $I->amLoggedAs($admin);
     $I->amOnAction('ProjectController@getEdit', ['project' => $project]);
     $I->click(trans('tinyissue.delete_something', ['name' => $project->name]));
     $I->seeCurrentActionIs('ProjectsController@getIndex');
     $I->dontSeeLink('Project 1');
     $I->amOnAction('ProjectsController@getIndex', ['status' => Project::STATUS_ARCHIVED]);
     $I->dontSeeLink('Project 1');
     $I->dontSeeRecord($project->getTable(), ['name' => 'Project 1']);
 }
Ejemplo n.º 6
0
 /**
  * @param FunctionalTester $I
  *
  * @actor FunctionalTester
  *
  * @return void
  */
 public function updateTag(FunctionalTester $I)
 {
     $I->am('Admin User');
     $I->wantTo('edit an existing tag');
     $tag = (new Tag())->where('group', '=', false)->get()->random(1);
     $data = ['name' => 'tag updated'];
     $tagName = $tag->name;
     $I->amLoggedAs($I->createUser(1, 4));
     $I->amOnAction('Administration\\TagsController@getIndex');
     $I->click($this->_editTagSelector($tagName));
     $I->seeCurrentActionIs('Administration\\TagsController@getEdit', ['tag' => $tag]);
     $I->submitForm('form', $data);
     $I->amOnAction('Administration\\TagsController@getIndex');
     $I->see($data['name'], $this->_editTagSelector($data['name']));
     $I->dontSee($data['name'], $this->_editTagSelector($tagName));
 }
Ejemplo n.º 7
0
 public function createATicketSuccessfully(FunctionalTester $I)
 {
     $I->amLoggedAs(User::where('email', '*****@*****.**')->first());
     $I->seeAuthentication();
     $I->amOnPage('/ticket/create');
     $I->see('Create Ticket', 'h1');
     $I->fillField('customer_name', 'Evie Martell');
     $I->fillField('customer_address', 'Luton, LU1 9AB');
     $I->fillField('customer_tel', '07710999888');
     $I->fillField('customer_email', '*****@*****.**');
     $I->selectOption('select[name=type]', 'Fault');
     $I->selectOption('select[name=category_id]', '1');
     $I->fillField('post_serial', '2997');
     $I->fillField('description', 'Testing the post fault');
     $I->seeAuthentication();
     $I->click('Create');
     $I->see('Ticket created');
 }
Ejemplo n.º 8
0
 /**
  * @param FunctionalTester $I
  *
  * @actor FunctionalTester
  *
  * @return void
  */
 public function assignToUser(FunctionalTester $I)
 {
     $I->am('Admin User');
     $I->wantTo('not be able to assign an issue to a user');
     $admin = $I->createUser(1, 4);
     $developer1 = $I->createUser(2, 2);
     // developer
     $I->amLoggedAs($admin);
     $project = $I->createProject(1, [$developer1]);
     $issue = $I->createIssue(1, $admin, null, $project);
     $I->amOnAction('Project\\IssueController@getIndex', ['project' => $project, 'issue' => $issue]);
     $I->dontSee($developer1->fullname, '.assigned-to .currently_assigned');
     $uri = $I->getApplication()->url->action('Project\\IssueController@postAssign', ['project' => $project]);
     $I->sendAjaxPostRequest($uri, ['user_id' => $developer1->id, '_token' => csrf_token()]);
     $I->comment($I->getResponseContent());
     $I->amOnAction('Project\\IssueController@getIndex', ['project' => $project, 'issue' => $issue]);
     $I->see($developer1->fullname, '.assigned-to .currently_assigned');
 }
Ejemplo n.º 9
0
 /**
  * @param FunctionalTester $I
  *
  * @actor FunctionalTester
  *
  * @return void
  */
 public function deleteNote(FunctionalTester $I)
 {
     $I->am('Admin User');
     $I->wantTo('delete an existing note from a project');
     $admin = $I->createUser(1, 4);
     $I->amLoggedAs($admin);
     $project = $I->createProject(1);
     $note1 = $I->createNote(1, $admin, $project);
     $note2 = $I->createNote(2, $admin, $project);
     $I->amOnAction('ProjectController@getNotes', ['project' => $project]);
     $I->see('Note 1', '//li[@id="note' . $note1->id . '"]');
     $I->see('Note 2', '//li[@id="note' . $note2->id . '"]');
     $uri = $I->getApplication()->url->action('ProjectController@getDeleteNote', ['project' => $project, 'note' => $note2]);
     $I->sendAjaxGetRequest($uri);
     $I->seeResponseCodeIs(200);
     $I->amOnAction('ProjectController@getNotes', ['project' => $project]);
     $I->see('Note 1', '//li[@id="note' . $note1->id . '"]');
     $I->dontSee('Note 2', '//li[@id="note' . $note2->id . '"]');
 }
Ejemplo n.º 10
0
 /**
  * @param FunctionalTester $I
  *
  * @actor FunctionalTester
  *
  * @return void
  */
 public function deleteComment(FunctionalTester $I)
 {
     $I->am('Developer User');
     $I->wantTo('delete a comment from an issue');
     $admin = $I->createUser(2, 4);
     $I->amLoggedAs($admin);
     $project = $I->createProject(1, [$admin]);
     $issue = $I->createIssue(1, $admin, $admin, $project);
     $comment1 = $I->createComment(1, $admin, $issue);
     $comment2 = $I->createComment(2, $admin, $issue);
     $I->amOnAction('Project\\IssueController@getIndex', ['project' => $project, 'issue' => $issue]);
     $I->see($comment1->comment, '#comment' . $comment1->id . ' .content');
     $I->see($comment2->comment, '#comment' . $comment2->id . ' .content');
     $uri = $I->getApplication()->url->action('Project\\IssueController@getDeleteComment', ['comment' => $comment1]);
     $I->sendAjaxGetRequest($uri);
     $I->seeResponseCodeIs(200);
     $I->amOnAction('Project\\IssueController@getIndex', ['project' => $project, 'issue' => $issue]);
     $I->dontSee($comment1->comment);
     $I->see($comment2->comment);
 }
 public function memberCanReturnBox(FunctionalTester $I)
 {
     $I->am('a member');
     $I->wantTo('make sure I can return a box I own');
     //Load and login a known member
     $user = User::find(1);
     $I->amLoggedAs($user);
     //Setup a box a already claimed
     $box = \BB\Entities\StorageBox::first();
     $box->user_id = $user->id;
     $box->save();
     $I->amOnPage('/storage_boxes');
     //Make sure the db is correct
     $I->seeInDatabase('storage_boxes', ['user_id' => $user->id]);
     //The page should have our name next to the claimed box
     $I->see($user->name);
     $I->click('Return Box');
     //We should be gone from the DB
     $I->dontSeeInDatabase('storage_boxes', ['user_id' => $user->id]);
     $I->cantSee($user->name);
 }
Ejemplo n.º 12
0
 /**
  * @param FunctionalTester $I
  *
  * @actor FunctionalTester
  *
  * @return void
  */
 public function viewOverview(FunctionalTester $I)
 {
     $I->am('Admin User');
     $I->wantTo('To view administration overview page');
     $admin = $I->createUser(1, 4);
     $project1 = $I->createProject(1);
     $project2 = $I->createProject(2);
     $project2->status = Tinyissue\Model\Project::STATUS_ARCHIVED;
     $project2->save();
     $I->createProject(3);
     $I->createIssue(1, $admin, null, $project1);
     $I->createIssue(2, $admin, null, $project1);
     $issue3 = $I->createIssue(3, $admin, null, $project1);
     $issue3->changeStatus(Project\Issue::STATUS_CLOSED, $admin);
     $I->amLoggedAs($admin);
     $I->amOnAction('HomeController@getIndex');
     $I->click(trans('tinyissue.administration'));
     $I->seeCurrentActionIs('AdministrationController@getIndex');
     $I->see('1', '//li[@class="list-group-item" and text()[contains(.,\'' . trans('tinyissue.total_users') . '\')]]/span');
     $I->see('2', '//li[@class="list-group-item" and text()[contains(.,\'' . trans('tinyissue.active_projects') . '\')]]/span');
     $I->see('1', '//li[@class="list-group-item" and text()[contains(.,\'' . trans('tinyissue.archived_projects') . '\')]]/span');
     $I->see('2', '//li[@class="list-group-item" and text()[contains(.,\'' . trans('tinyissue.open_issues') . '\')]]/span');
     $I->see('1', '//li[@class="list-group-item" and text()[contains(.,\'' . trans('tinyissue.closed_issues') . '\')]]/span');
 }
Ejemplo n.º 13
0
 /**
  * @param FunctionalTester $I
  *
  * @actor FunctionalTester
  *
  * @return void
  */
 public function removeUserFromProject(FunctionalTester $I)
 {
     $I->am('Admin User');
     $I->wantTo('not be able to remove user to a project');
     $admin = $I->createUser(1, 4);
     $developer1 = $I->createUser(2, 2);
     // developer
     $I->amLoggedAs($admin);
     $project = $I->createProject(1, [$developer1]);
     $I->amOnAction('ProjectController@getIndex', ['project' => $project]);
     $I->see($developer1->fullname, '#project-user' . $developer1->id);
     $uri = $I->getApplication()->url->action('ProjectController@postUnassign', ['project' => $project]);
     $I->sendAjaxPostRequest($uri, ['user_id' => $developer1->id, '_token' => csrf_token()]);
     $I->seeResponseCodeIs(200);
     $I->amOnAction('ProjectController@getIndex', ['project' => $project]);
     $I->dontSee($developer1->fullname, '#project-user' . $developer1->id);
 }
Ejemplo n.º 14
0
<?php

$I = new FunctionalTester($scenario);
$I->amLoggedAs(['username' => 'crist_lopez', 'password' => 'testing1234']);
$I->seeAuthentication();
$I->wantTo('change my account password');
$I->amOnPage('/dashboard');
$I->click('Profile');
$I->see('My Profile');
$I->click('(Change Password)');
$I->see('Account Details');
$I->fillField('old_password', 'testing1234');
$I->fillField('password', 'testing123');
$I->fillField('password', 'testing123');
$I->click('Submit');
$password = Hash::make('testing123');
$I->seeRecord('accounts', ['username' => 'crist_lopez', 'password' => $password]);
Ejemplo n.º 15
0
<?php

$I = new FunctionalTester($scenario);
$I->amLoggedAs(['username' => 'crist_lopez', 'password' => '123456']);
$I->seeAuthentication();
$I->wantTo('create an account for a BCD employee');
$username = '******';
$password = '******';
$password_again = 'testing1234';
$first_name = 'J. Richards';
$middle_name = 'Testing';
$last_name = 'Soriano';
$birthdate = '07/04/1965';
$address = 'Greater Manila, Quezon City';
$email = '*****@*****.**';
$mobile = '09234545432';
$department = 'D-DIGI';
$I->amOnPage('/employees/create');
$I->see('Add Employee Record');
$I->fillField('username', $username);
$I->fillField('password', $password);
$I->fillField('password_again', $password);
$I->fillField('first_name', $first_name);
$I->fillField('middle_name', $middle_name);
$I->fillField('last_name', $last_name);
$I->fillField('birthdate', $birthdate);
$I->fillField('address', $address);
$I->fillField('email', $email);
$I->fillField('mobile', $mobile);
$I->fillField('department', $department);
$I->click('Submit');
Ejemplo n.º 16
0
 public function _before(FunctionalTester $I)
 {
     $this->user = User::first();
     $I->amLoggedAs($this->user);
 }
Ejemplo n.º 17
0
 /**
  * @param FunctionalTester $I
  *
  * @actor FunctionalTester
  *
  * @return void
  */
 public function viewIssues(FunctionalTester $I)
 {
     $I->am('Developer User');
     $I->wantTo('view issues assigned to logged user in all projects');
     $admin = $I->createUser(1, 4);
     $developer1 = $I->createUser(2, 2);
     $I->amLoggedAs($developer1);
     $project1 = $I->createProject(1, [$developer1]);
     $issue1 = $I->createIssue(1, $admin, $developer1, $project1);
     $issue2 = $I->createIssue(2, $admin, $developer1, $project1);
     $issue3 = $I->createIssue(3, $developer1, $developer1, $project1);
     $project2 = $I->createProject(2, [$developer1]);
     $issue4 = $I->createIssue(4, $admin, $developer1, $project2);
     $issue5 = $I->createIssue(5, $admin, $developer1, $project2);
     $issue6 = $I->createIssue(6, $admin, null, $project2);
     $I->amOnAction('HomeController@getIndex');
     $I->click(trans('tinyissue.your_issues'));
     $I->seeLink($issue1->title);
     $I->seeLink($issue2->title);
     $I->seeLink($issue3->title);
     $I->seeLink($issue4->title);
     $I->seeLink($issue5->title);
     $I->dontSeeLink($issue6->title);
 }
Ejemplo n.º 18
0
<?php

$I = new FunctionalTester($scenario);
$I->expectTo('have a usere in the database');
$I->haveRecord('users', ['username' => 'verem', 'password' => 'danverem', 'email' => '*****@*****.**', 'profile_state' => 0]);
$I->expectTo('have a logged in user');
$user = $I->grabRecord('users', ['username' => 'verem']);
$I->amLoggedAs(['username' => $user->username, 'id' => $user->id, 'password' => $user->password]);
$I->wantTo('test if chops is posting to database');
$I->amOnAction('ChopsController@create');
$I->seeInCurrentUrl('/create');
$I->see('What\'s that special meal you just ate today');
$I->fillField('name', 'edikaikong');
$I->attachFile('image', 'julia.jpeg');
$I->fillField('about', 'This food is the best dish in the country');
$I->click('submitButton');
$I->seeInCurrentUrl('/chops');
Ejemplo n.º 19
0
<?php

$I = new FunctionalTester($scenario);
$I->am('a guest');
$I->wantTo('Register as a New User on LAZ');
$I->amOnPage('/register');
$I->seeCurrentUrlEquals('/register');
$I->fillField('_dob', '01/01/1990');
$I->fillField('zip', '11226');
$I->fillField('username', 'JonDoe');
$I->fillField('email', '*****@*****.**');
$I->fillField('password', 'demoLog');
$I->fillField('password_confirmation', 'demoLog');
$I->click('Register');
$I->amLoggedAs(['email' => '*****@*****.**', 'password' => 'password']);
$I->seeAuthentication();
$I->amOnPage('/home');
 public function _before(FunctionalTester $I)
 {
     $email = 'admin+' . str_random(8) . '@stellardestiny.online';
     $I->haveRecord('users', ['name' => 'admin', 'email' => $email, 'status' => 1, 'password' => bcrypt('password'), 'created_at' => new DateTime(), 'updated_at' => new DateTime()]);
     $I->amLoggedAs(['email' => $email, 'password' => 'password']);
 }
 /**
  * @param FunctionalTester $I
  * @param string|array     $action
  * @param string           $expectTo
  *
  * @return void
  */
 protected function _cantAccessPage(FunctionalTester $I, $action, $expectTo)
 {
     $action = is_array($action) ? $action : [$action];
     $I->am('Developer User');
     $I->expectTo('not be able to ' . $expectTo);
     $I->amLoggedAs($I->createUser(1, 2));
     call_user_func_array([$I, 'amOnAction'], $action);
     $I->seeResponseCodeIs(401);
 }
<?php

use BB\Entities\User;
$I = new FunctionalTester($scenario);
$I->am('member');
$I->wantTo('confirm I cant create manual payments');
//Load and login a known member
$user = User::find(1);
$I->amLoggedAs($user);
$I->sendPost('account/' . $user->id . '/payment', ['reason' => 'door-key', 'source' => 'manual', 'amount' => 5]);
$I->cantSeeResponseCodeIs(200);
$I->cantSeeResponseCodeIs(201);
Ejemplo n.º 23
0
 /**
  * @param FunctionalTester $I
  *
  * @actor FunctionalTester
  *
  * @return void
  */
 public function removeAttachment(FunctionalTester $I)
 {
     $I->am('Manager User');
     $I->wantTo('remove an attachment from a project issue comments');
     $fileName = 'upload1.txt';
     $manager = $I->createUser(1, 3);
     $I->amLoggedAs($manager);
     $issue = $I->createIssue(1, $manager);
     $project = $issue->project;
     $I->amOnAction('Project\\IssueController@getIndex', ['project' => $project, 'issue' => $issue]);
     $uploadToken = $I->grabValueFrom('//form/input[@name="upload_token"]');
     $uri = $I->getApplication()->url->action('Project\\IssueController@postUploadAttachment', ['project' => $project]);
     $I->submitFormWithFileToUri('.new-comment form', $uri, ['upload' => $fileName], ['comment' => 'Comment 1']);
     $attachment = $issue->comments->first()->attachments->first();
     $I->amOnAction('Project\\IssueController@getDownloadAttachment', ['project' => $project, 'issue' => $issue, 'attachment' => $attachment]);
     $I->seeResponseCodeIs(200);
     $I->amOnAction('Project\\IssueController@getIndex', ['project' => $project, 'issue' => $issue]);
     $I->seeElement('.attachments a', ['title' => $fileName]);
     $uri = $I->getApplication()->url->action('Project\\IssueController@postRemoveAttachment', ['project' => $project]);
     $I->sendAjaxPostRequest($uri, ['_token' => csrf_token(), 'upload_token' => $uploadToken, 'filename' => $fileName]);
     $I->amOnAction('Project\\IssueController@getIndex', ['project' => $project, 'issue' => $issue]);
     $I->dontSeeElement('.attachments a', ['title' => $fileName]);
     $I->amOnAction('Project\\IssueController@getDisplayAttachment', ['project' => $project, 'issue' => $issue, 'attachment' => $attachment]);
     $I->seeResponseCodeIs(404);
 }
<?php

$I = new FunctionalTester($scenario);
$I->wantTo('create a currency without data');
$I->am('a Administrator user');
$I->dontSeeAuthentication();
$I->amLoggedAs(['email' => '*****@*****.**', 'password' => 'admin']);
$I->seeAuthentication();
//When
$I->amOnPage('/settings/currency');
//And
$I->see('Create');
$I->click('Create');
//Then
$I->seeCurrentUrlEquals('/settings/currency/create');
//When
$form = ['name' => '', 'symbol' => ''];
//And
$I->submitForm('//form', $form, 'Create');
//Then
$I->seeFormErrorMessage('name', 'The name field is required.');
//
Ejemplo n.º 25
0
 /**
  * @param \FunctionalTester $I
  *
  * @actor FunctionalTester
  *
  * @return void
  */
 public function cantCreateUser(FunctionalTester $I)
 {
     $I->am('Manager User');
     $I->expectTo('not be able to create new user');
     $I->amLoggedAs($I->createUser(1, 3));
     $I->amOnAction('Administration\\UsersController@getAdd');
     $I->seeResponseCodeIs(401);
 }
Ejemplo n.º 26
0
 /**
  * @param FunctionalTester $I
  *
  * @actor FunctionalTester
  *
  * @return void
  */
 public function closeIssue(FunctionalTester $I)
 {
     $I->am('Developer User');
     $I->wantTo('close an opened issue');
     $admin = $I->createUser(1, 4);
     $developer1 = $I->createUser(2, 2);
     // developer
     $I->amLoggedAs($admin);
     $project = $I->createProject(1, [$developer1]);
     $I->amOnAction('Project\\IssueController@getNew', ['project' => $project]);
     $issue = $I->createIssue(1, $admin, $developer1, $project);
     $I->amOnAction('Project\\IssueController@getIndex', ['project' => $project, 'issue' => $issue]);
     $I->click(trans('tinyissue.close_issue'), '.close-issue');
     $I->seeLink(trans('tinyissue.reopen_issue'));
     $I->click(trans('tinyissue.reopen_issue'));
     $I->dontSeeLink(trans('tinyissue.reopen_issue'));
     $I->seeLink(trans('tinyissue.close_issue'));
 }