Skip to content

Instantly share code, notes, and snippets.

View devmsh's full-sized avatar
👨‍💻
Available for new projects

Mohammed S Shurrab devmsh

👨‍💻
Available for new projects
View GitHub Profile
@devmsh
devmsh / User.php
Last active December 19, 2018 08:53
User.php
<?php
class User{
public function addNewMobile($mobile): UserMobile
{
$userMobile = new UserMobile(['mobile' => $mobile, 'status' => self::STATUS_VERIFIED]);
if(app()->events->until(
event(new MobileVerifying($userMobile)) !== false
@devmsh
devmsh / EventServiceProvider.php
Created December 19, 2018 08:54
EventServiceProvider.php
<?php
class EventServiceProvider extends ServiceProvider
{
protected $listen = [
'App\Events\MobileVerifying' => [
'App\Listeners\MobileVerifyingListener',
],
@devmsh
devmsh / User.php
Created December 19, 2018 08:56
User.php
<?php
class User{
public function addNewMobile($mobile): UserMobile
{
event(new MobileVerifying($mobile));
$userMobile = $this->mobiles()->create(['mobile' => $mobile, 'status' => self::STATUS_VERIFIED]);
@devmsh
devmsh / EventServiceProvider.php
Created December 19, 2018 09:48
EventServiceProvider.php
<?php
class EventServiceProvider extends ServiceProvider
{
protected $listen = [
'App\Events\MobileVerifying' => [
'App\Listeners\DeleteNotVerifiedUsers',
'App\Listeners\DeleteOutdatedActivationCodes',
],
@devmsh
devmsh / MultipleMobileTest.php
Last active December 19, 2018 22:16
MultipleMobileTest.php
<?php
class MultipleMobileTest extends TestCase
{
public function test_user_can_add_new_mobile()
{
Event::fake([MobileVerifying::class,MobileVerified::class]);
$user = $this->newVerifiedUser();
@devmsh
devmsh / DeleteNotVerifiedUsersTest.php
Created December 19, 2018 22:39
DeleteNotVerifiedUsersTest.php
<?php
class DeleteNotVerifiedUsersTest extends TestCase
{
public function test_can_delete_unverified_user_with_specific_mobile_number()
{
$unverifiedUser = $this->newUnVerifiedUser(["mobile" => "970567940999"]);
$userMobile = factory(UserMobile::class)->create(["mobile" => "970567940999"]);
<?php
class response {
public $response = [];
function __construct(){
$this->addNormalResponse();
return $this->response;
}
@devmsh
devmsh / 1.php
Last active February 10, 2020 07:45
Write better Laravel tests
<?php
public function test_users_can_get_their_categories_list()
{
factory(Category::class, 5)->create();
$user = factory(User::class)->create();
Passport::actingAs($user);
$response = $this->get('api/categories');
@devmsh
devmsh / 1.php
Created February 10, 2020 08:01
Write better Laravel tests 1
<?php
public function test_users_can_get_their_categories_list()
{
factory(Category::class, 5)->create();
$user = factory(User::class)->create();
Passport::actingAs($user);
$response = $this->get('api/categories');
@devmsh
devmsh / 2.php
Created February 10, 2020 08:04
Write better Laravel tests 2
<?php
public function test_users_can_get_their_categories_list()
{
// ...
$response = $this->get('api/categories')
->assertSuccessful()
->dump()
->assertJsonCount(5)