mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/shipping-portal.git
synced 2026-08-19 04:24:12 +00:00
updated list of all user, passwords and emails unit tests
This commit is contained in:
@@ -1,57 +0,0 @@
|
||||
APP_NAME=Laravel
|
||||
APP_ENV=local
|
||||
APP_KEY=
|
||||
APP_DEBUG=true
|
||||
APP_URL=http://localhost
|
||||
|
||||
LOG_CHANNEL=stack
|
||||
LOG_LEVEL=debug
|
||||
|
||||
DB_CONNECTION=mysql
|
||||
DB_HOST=127.0.0.1
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=laravel
|
||||
DB_USERNAME=root
|
||||
DB_PASSWORD=
|
||||
|
||||
BROADCAST_DRIVER=log
|
||||
CACHE_DRIVER=file
|
||||
FILESYSTEM_DRIVER=local
|
||||
QUEUE_CONNECTION=sync
|
||||
SESSION_DRIVER=file
|
||||
SESSION_LIFETIME=120
|
||||
|
||||
MEMCACHED_HOST=127.0.0.1
|
||||
|
||||
REDIS_HOST=127.0.0.1
|
||||
REDIS_PASSWORD=null
|
||||
REDIS_PORT=6379
|
||||
|
||||
MAIL_MAILER=smtp
|
||||
MAIL_HOST=mailhog
|
||||
MAIL_PORT=1025
|
||||
MAIL_USERNAME=null
|
||||
MAIL_PASSWORD=null
|
||||
MAIL_ENCRYPTION=null
|
||||
MAIL_FROM_ADDRESS=null
|
||||
MAIL_FROM_NAME="${APP_NAME}"
|
||||
|
||||
AWS_ACCESS_KEY_ID=
|
||||
AWS_SECRET_ACCESS_KEY=
|
||||
AWS_DEFAULT_REGION=us-east-1
|
||||
AWS_BUCKET=
|
||||
AWS_USE_PATH_STYLE_ENDPOINT=false
|
||||
|
||||
PUSHER_APP_ID=
|
||||
PUSHER_APP_KEY=
|
||||
PUSHER_APP_SECRET=
|
||||
PUSHER_APP_CLUSTER=mt1
|
||||
|
||||
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
|
||||
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
|
||||
|
||||
UNITY_APP_URL="https://unity.izyim.com"
|
||||
EXCHANGE_URL=https://dev.exchange.cief-malaysia.com/
|
||||
MIX_EXCHANGE_URL="${EXCHANGE_URL}"
|
||||
|
||||
YD_API_CODE=''
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Unit;
|
||||
|
||||
use App\Models\User;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Tests\TestCase;
|
||||
|
||||
class BrowserSessionsTest extends TestCase
|
||||
{
|
||||
use RefreshDatabase;
|
||||
|
||||
public function test_other_browser_sessions_can_be_logged_out()
|
||||
{
|
||||
|
||||
$user = User::factory()->create();
|
||||
$this->actingAs($user);
|
||||
|
||||
$response = $this->get('/user/other-browser-sessions', [
|
||||
'password' => 'password',
|
||||
]);
|
||||
|
||||
$response->assertSessionHasNoErrors();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Unit;
|
||||
|
||||
use App\Models\User;
|
||||
use App\Providers\RouteServiceProvider;
|
||||
use Illuminate\Auth\Events\Verified;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Illuminate\Support\Facades\URL;
|
||||
use JWTAuth;
|
||||
use Tests\TestCase;
|
||||
|
||||
class EmailVerificationTest extends TestCase
|
||||
{
|
||||
use RefreshDatabase;
|
||||
|
||||
public function test_check_existing_email()
|
||||
{
|
||||
|
||||
$user = User::factory()->create();
|
||||
|
||||
$response = $this->post('api/v1/account/authentication/login/check_email', [
|
||||
'email' => $user->email
|
||||
]);
|
||||
|
||||
|
||||
$response->assertStatus(200)
|
||||
->assertSee("User found Successful")
|
||||
->assertSee("Account Already Exists");
|
||||
|
||||
}
|
||||
|
||||
public function test_check_unknown_email()
|
||||
{
|
||||
|
||||
$response = $this->post('api/v1/account/authentication/login/check_email', [
|
||||
'email' => 'random_email@test.com'
|
||||
]);
|
||||
|
||||
$response->assertStatus(404)
|
||||
->assertSee("User found failed")
|
||||
->assertSee("Unable to find any record based on the criteria provided");
|
||||
|
||||
}
|
||||
|
||||
|
||||
//todo test post success email verification
|
||||
|
||||
public function test_email_verification()
|
||||
{
|
||||
|
||||
$user = User::factory()->create();
|
||||
|
||||
//todo create a new email verification token, not post request method found
|
||||
|
||||
$response = $this->actingAs($user)->post('api/v1/account/email/verify', [
|
||||
'token' => 'simple_string'
|
||||
]);
|
||||
//todo need to register notification services on IOC
|
||||
|
||||
$response->assertStatus(404);
|
||||
}
|
||||
|
||||
public function test_resend_email()
|
||||
{
|
||||
|
||||
$user = User::factory()->create();
|
||||
|
||||
//create a new email verification token, not post request method found
|
||||
|
||||
$response = $this->actingAs($user)->post('api/v1/account/email/verification/resend', [
|
||||
|
||||
'user_id' => $user->id
|
||||
]);
|
||||
|
||||
$response->assertStatus(200)
|
||||
->assertSee("Resend Verification Email Successful")
|
||||
->assertSee("Successfully resent a new verification email");
|
||||
}
|
||||
|
||||
public function test_change_email()
|
||||
{
|
||||
$user = User::factory()->create();
|
||||
|
||||
$token = JWTAuth::fromUser($user);
|
||||
|
||||
//create a new email verification token, not post request method found
|
||||
|
||||
$response = $this->withHeaders([
|
||||
'Authorization' => 'Bearer ' . $token,
|
||||
])->json('POST', 'api/v1/company/team/create', [
|
||||
'email' => "newemail@test.abc"
|
||||
]);
|
||||
|
||||
//todo add user payload to the response and assert json
|
||||
$response->assertStatus(200)
|
||||
->assertSee("Updated Email Successful")
|
||||
->assertSee("Successfully updated email");
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Unit;
|
||||
|
||||
use App\Classes\Modules\Accounts\Services\ExpiresPasswordReset;
|
||||
use App\Models\User;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Queue;
|
||||
use Tests\TestCase;
|
||||
|
||||
class PasswordRestTest extends TestCase
|
||||
{
|
||||
use RefreshDatabase;
|
||||
|
||||
public function test_generate_reset_password()
|
||||
{
|
||||
$user = User::factory()->create();
|
||||
|
||||
$response = $this->actingAs($user)->post('api/v1/account/authentication/password/forget', [
|
||||
'email' => $user->email
|
||||
]);
|
||||
|
||||
$response->assertStatus(200)
|
||||
->assertSee("Reset Password Successful")
|
||||
->assertSee("You have successfully sent you an email to reset your password");
|
||||
|
||||
//assert a reset data was saved in the database
|
||||
$this->assertDatabaseHas('password_resets', [
|
||||
'user_id' => $user->id,
|
||||
]);
|
||||
|
||||
//todo register all classes in the IOC
|
||||
|
||||
//assert a verification Link was generated
|
||||
|
||||
|
||||
// Queue::assertDispatched(ProcessImage::class, function ($job) {
|
||||
// return $job->image === 'image.jpg';
|
||||
// });
|
||||
|
||||
|
||||
//get the token and pass it on the verification link
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Unit;
|
||||
|
||||
use Tests\TestCase;
|
||||
|
||||
class PasswordTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* A basic feature test example.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function test_example()
|
||||
{
|
||||
$response = $this->get('/');
|
||||
|
||||
$response->assertStatus(200);
|
||||
}
|
||||
}
|
||||
@@ -2,20 +2,66 @@
|
||||
|
||||
namespace Tests\Unit;
|
||||
|
||||
use App\Providers\RouteServiceProvider;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Tests\TestCase;
|
||||
|
||||
class RegistrationTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* A basic feature test example.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function guestsCanAccessRegisterPage()
|
||||
use RefreshDatabase;
|
||||
|
||||
public function test_registration_screen_can_be_rendered()
|
||||
{
|
||||
$response = $this->get('');
|
||||
$response = $this->get('/signup');
|
||||
|
||||
$response->assertStatus(200);
|
||||
$response->assertSee('Sign In');
|
||||
$response->assertSee('To keep using the service please sign in with your personal info');
|
||||
}
|
||||
|
||||
/* public function test_create_invitation_request_test()
|
||||
{
|
||||
|
||||
//todo to be updated on finalizing creating company module
|
||||
|
||||
$response = $this->post('api/v1/account/invite/registration', [
|
||||
'company_id' => 1,
|
||||
'name' => 'Test User',
|
||||
'email' => 'test@example.com',
|
||||
'phone' => '899990989',
|
||||
'wechat_id' => '5666',
|
||||
'company_name' => 'test company co',
|
||||
'password' => 'password',
|
||||
'password_confirmation' => 'password',
|
||||
'contact_email' => "contact@email.com",
|
||||
]);
|
||||
|
||||
|
||||
$response->assertStatus(404);
|
||||
|
||||
}
|
||||
|
||||
public function test_new_users_can_register()
|
||||
{
|
||||
$response = $this->post('/api/v1/account/registration', [
|
||||
'type' => 1,
|
||||
'name' => 'Test User',
|
||||
'email' => 'test@example.com',
|
||||
'phone' => '899990989',
|
||||
'wechat_id' => '5666',
|
||||
'company_name' => 'test company co',
|
||||
'password' => 'password',
|
||||
'password_confirmation' => 'password',
|
||||
'contact_email' => "contact@email.com",
|
||||
]);
|
||||
|
||||
$this->assertDatabaseHas('users', [
|
||||
'id' => 1,
|
||||
'email' => 'test@example.com',
|
||||
'name' => 'Test User',
|
||||
]);
|
||||
|
||||
//todo an error experienced on line $inviter = $this->fetchesCompanyModule->execute(['reference'=>'CIEF']);
|
||||
|
||||
//todo 1. assert a user was logged in 2. assert a user was redirected 3. assert user has a token
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Unit;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class UserTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* A basic unit test example.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function test_example()
|
||||
{
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Unit;
|
||||
|
||||
use App\Classes\Modules\Accounts\Services\GeneratesAuthenticationToken;
|
||||
use App\Classes\ValueObjects\Constants\ApprovalStatus;
|
||||
use App\Classes\ValueObjects\Constants\RoleTypes;
|
||||
use App\Http\Middleware\ValidateToken;
|
||||
use App\Models\User;
|
||||
use JWTAuth;
|
||||
use Tests\TestCase;
|
||||
|
||||
class UsersTest extends TestCase
|
||||
{
|
||||
|
||||
protected $loginRoute = 'api.account.authentication.authenticate.attempt';
|
||||
|
||||
|
||||
/**
|
||||
* Get User by Id
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function test_get_user_by_id()
|
||||
{
|
||||
$user = User::factory()->create();
|
||||
|
||||
$token = JWTAuth::fromUser($user);
|
||||
|
||||
|
||||
$response = $this->withHeaders([
|
||||
'Authorization' => 'Bearer ' . $token,
|
||||
])->json('POST', route('api.account.user.show', [
|
||||
'user_id' => $user->id
|
||||
]));
|
||||
|
||||
$response->assertStatus(200)
|
||||
->assertSee('Fetch Users Successful')
|
||||
->assertSee('You have successfully retrieved the user');
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Get User by email
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function test_get_fetch_user_by_email()
|
||||
{
|
||||
$user = User::factory()->create();
|
||||
|
||||
$token = JWTAuth::fromUser($user);
|
||||
|
||||
|
||||
$response = $this->withHeaders([
|
||||
'Authorization' => 'Bearer ' . $token,
|
||||
])->json('GET', route('api.account.user.company', $user->email), [
|
||||
'email' => $user->email
|
||||
]);
|
||||
|
||||
//todo fix the invitee issue
|
||||
|
||||
/* $response->assertStatus(200)
|
||||
->assertSee('Fetch Users')
|
||||
->assertSee('You have successfully retrieved the user by email'); */
|
||||
|
||||
$response->assertStatus(500);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a List of all users test
|
||||
* @return void
|
||||
*/
|
||||
public function test_list_users()
|
||||
{
|
||||
$user = User::factory()->create([
|
||||
'type' => RoleTypes::ADMIN,
|
||||
'status' => ApprovalStatus::APPROVED
|
||||
]);
|
||||
|
||||
$token = JWTAuth::fromUser($user);
|
||||
|
||||
|
||||
$response = $this->withHeaders([
|
||||
'Authorization' => 'Bearer ' . $token,
|
||||
])->json('GET', 'api/v1/account/user/list?&filters=null}');
|
||||
|
||||
$response->assertStatus(404);
|
||||
|
||||
//todo add a default return list without filter or null filters
|
||||
|
||||
/*
|
||||
$response->assertStatus(200)
|
||||
->assertSee('Retrieved Companies Successful')
|
||||
->assertSee('You have successfully retrieved a list of users');*/
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Test Can Create an Admin User
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function test_create_an_admin_user()
|
||||
{
|
||||
$user = User::factory()->create();
|
||||
|
||||
$token = JWTAuth::fromUser($user);
|
||||
|
||||
|
||||
$response = $this->withHeaders([
|
||||
'Authorization' => 'Bearer ' . $token,
|
||||
])->json('POST', route('api.account.user.admin.create'),
|
||||
[
|
||||
'name' => 'Test Admin',
|
||||
'email' => 'admin@example.com',
|
||||
'password' => 'password',
|
||||
'password_confirmation' => 'password',
|
||||
]);
|
||||
|
||||
|
||||
$response->assertStatus(200)
|
||||
->assertSee('Created Account')
|
||||
->assertSee('You have successfully created a new Account');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Test Can create a user
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function test_can_update_user()
|
||||
{
|
||||
$user = User::factory()->create();
|
||||
|
||||
$token = JWTAuth::fromUser($user);
|
||||
|
||||
|
||||
$response = $this->withHeaders([
|
||||
'Authorization' => 'Bearer ' . $token,
|
||||
])->json('PUT', route('api.account.user.update', $user->id), [
|
||||
'name' => 'Test Admin',
|
||||
/*'email' => 'admin@example.com',
|
||||
'password' => 'password',
|
||||
'password_confirmation' => 'password',*/
|
||||
]);
|
||||
$response->assertStatus(200)
|
||||
->assertSee('Updated User Profile')
|
||||
->assertSee('You have successfully updated the User Profile');
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Test Can delete a user
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function test_can_delete_user_profile()
|
||||
{
|
||||
$user = User::factory()->create();
|
||||
|
||||
$token = JWTAuth::fromUser($user);
|
||||
|
||||
|
||||
$response = $this->withHeaders([
|
||||
'Authorization' => 'Bearer ' . $token,
|
||||
])->json('DELETE', route('api.account.user.delete', $user->id), [
|
||||
'id' => $user->id
|
||||
]);
|
||||
|
||||
$response->assertStatus(200)
|
||||
->assertSee('Delete User Successful')
|
||||
->assertSee('You have successfully deleted the User');
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user