-
-
Save roberto-butti/d490a8eb02bf4a540f7fd1715df18970 to your computer and use it in GitHub Desktop.
name: Laravel | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
laravel-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Copy .env | |
run: php -r "file_exists('.env') || copy('.env.example', '.env');" | |
- name: Install Dependencies | |
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist | |
- name: Generate key | |
run: php artisan key:generate | |
- name: Directory Permissions | |
run: chmod -R 777 storage bootstrap/cache | |
- name: Create Database | |
run: | | |
mkdir -p database | |
touch database/database.sqlite | |
- name: Execute tests (Unit and Feature tests) via PHPUnit | |
env: | |
DB_CONNECTION: sqlite | |
DB_DATABASE: database/database.sqlite | |
run: vendor/bin/phpunit --testdox |
Sure, it’s related to Livewire, but the test fails before the Livewire assertion. Here’s the first test that fails:
?php
namespace Tests\Feature\Auth;
use App\Admin;
use App\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Livewire\Livewire;
use Tests\TestCase;
class LoginTest extends TestCase
{
use RefreshDatabase;
/** @test */
public function can_view_login_page()
{
$this->get(route('login'))
->assertSuccessful()
->assertSeeLivewire('auth.login');
}
Hi @LarrayBraker, I'm using this basic yml file for GH Actions:
name: Laravel
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
laravel-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Copy .env
run: php -r "file_exists('.env') || copy('.env.example', '.env');"
- name: Install Dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
- name: Generate key
run: php artisan key:generate
- name: Directory Permissions
run: chmod -R 777 storage bootstrap/cache
- name: Create Database
run: |
mkdir -p database
touch database/database.sqlite
- name: Execute tests (Unit and Feature tests) via PHPUnit
env:
DB_CONNECTION: sqlite
DB_DATABASE: database/database.sqlite
run: vendor/bin/phpunit --testdox
The Feature test used is:
<?php
namespace Tests\Feature;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
class RoutingTest extends TestCase
{
use RefreshDatabase;
/** @test */
public function can_view_login_page()
{
$this->get(route('login'))
->assertSuccessful();
}
/** @test */
public function can_view_public_page()
{
$this->get(route('index'))
->assertSuccessful();
}
/** @test */
public function can_not_view_protected_page()
{
$this->get(route('dashboard'))
->assertRedirect();
}
}
this is ok, and everything is fine, locally and on github actions.
Now i will try to add "assertSeeLivewire" method
I have tried also the assertSeeLiverwire. method:
<?php
namespace Tests\Feature;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
class RoutingTest extends TestCase
{
use RefreshDatabase;
protected $seed = true;
/** @test */
public function can_view_login_page()
{
$this->get(route('login'))
->assertSuccessful();
}
/** @test */
public function can_view_public_page()
{
$this->get(route('index'))
->assertSuccessful();
}
/** @test */
public function can_not_view_protected_page()
{
$this->get(route('dashboard'))
->assertRedirect();
}
/** @test */
public function user_can_view_protected_page()
{
$this->actingAs(User::first())->get(route('dashboard'))
->assertOk();
}
/** @test */
public function user_can_view_protected_form()
{
$this->actingAs(User::first())->get(route('merchant.menu.create'))
->assertOk()->assertSeeLivewire("merchant.menu.edit-form");
}
}
I updated yml file with these things:
- using v2 of actions checkout: actions/checkout@v2
- fixing directory pemrissions: chmod -R 777 storage bootstrap/cache
- adding env parameters for DB_CONNECTION and DB_DATABASE
I am getting this error in Git Actions in local works fine
Run php artisan test --parallel --recreate-databases
php artisan test --parallel --recreate-databases
shell: /usr/bin/bash -e {0}
env:
DB_CONNECTION: sqlite
DB_DATABASE: database/database.sqlite
.........................
Tests: 25 passed (59 assertions)
Duration: 1.00s
Parallel: 4 processes
Error: Process completed with exit code 1.
@LarryBarker could you share here your snippet of your test ? I would like to replicate your issue, to see if I could help.