PHP Classes

File: tests/Feature/ProfileTest.php

Recommend this page to a friend!
  Classes of Maniruzzaman Akash   Laravel Stripe Checkout   tests/Feature/ProfileTest.php   Download  
File: tests/Feature/ProfileTest.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Laravel Stripe Checkout
E-commerce checkout that uses Stripe to pay orders
Author: By
Last change:
Date: 1 year ago
Size: 2,036 bytes
 

Contents

Class file image Download
<?php

use App\Models\User;

test('profile page is displayed', function () {
   
$user = User::factory()->create();

   
$response = $this
       
->actingAs($user)
        ->
get('/profile');

   
$response->assertOk();
});

test('profile information can be updated', function () {
   
$user = User::factory()->create();

   
$response = $this
       
->actingAs($user)
        ->
patch('/profile', [
           
'name' => 'Test User',
           
'email' => 'test@example.com',
        ]);

   
$response
       
->assertSessionHasNoErrors()
        ->
assertRedirect('/profile');

   
$user->refresh();

   
$this->assertSame('Test User', $user->name);
   
$this->assertSame('test@example.com', $user->email);
   
$this->assertNull($user->email_verified_at);
});

test('email verification status is unchanged when the email address is unchanged', function () {
   
$user = User::factory()->create();

   
$response = $this
       
->actingAs($user)
        ->
patch('/profile', [
           
'name' => 'Test User',
           
'email' => $user->email,
        ]);

   
$response
       
->assertSessionHasNoErrors()
        ->
assertRedirect('/profile');

   
$this->assertNotNull($user->refresh()->email_verified_at);
});

test('user can delete their account', function () {
   
$user = User::factory()->create();

   
$response = $this
       
->actingAs($user)
        ->
delete('/profile', [
           
'password' => 'password',
        ]);

   
$response
       
->assertSessionHasNoErrors()
        ->
assertRedirect('/');

   
$this->assertGuest();
   
$this->assertNull($user->fresh());
});

test('correct password must be provided to delete account', function () {
   
$user = User::factory()->create();

   
$response = $this
       
->actingAs($user)
        ->
from('/profile')
        ->
delete('/profile', [
           
'password' => 'wrong-password',
        ]);

   
$response
       
->assertSessionHasErrorsIn('userDeletion', 'password')
        ->
assertRedirect('/profile');

   
$this->assertNotNull($user->fresh());
});