feat: 教練審核流程完整版——四狀態機、證照送審、Admin 裁決、通知(含測試清空 DB 重大修復) #36

Merged
a620906209 merged 2 commits from feat/provider-verification-workflow into master 2026-06-11 19:40:53 +00:00
2 changed files with 19 additions and 3 deletions
Showing only changes of commit 37140554d3 - Show all commits
+6 -3
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd" xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
bootstrap="vendor/autoload.php" bootstrap="tests/bootstrap.php"
colors="true" colors="true"
> >
<testsuites> <testsuites>
@@ -22,8 +22,11 @@
<env name="APP_MAINTENANCE_DRIVER" value="file"/> <env name="APP_MAINTENANCE_DRIVER" value="file"/>
<env name="BCRYPT_ROUNDS" value="4"/> <env name="BCRYPT_ROUNDS" value="4"/>
<env name="CACHE_STORE" value="array"/> <env name="CACHE_STORE" value="array"/>
<env name="DB_CONNECTION" value="sqlite"/> <!-- forcedocker compose 將 DB_CONNECTION=mysql 設為真實環境變數,
<env name="DB_DATABASE" value=":memory:"/> phpunit 的 env 預設不覆蓋真實環境變數,導致容器內跑測試時
RefreshDatabase 直接清空開發用 MySQL2026-06-12 實際發生兩次) -->
<env name="DB_CONNECTION" value="sqlite" force="true"/>
<env name="DB_DATABASE" value=":memory:" force="true"/>
<env name="MAIL_MAILER" value="array"/> <env name="MAIL_MAILER" value="array"/>
<env name="PULSE_ENABLED" value="false"/> <env name="PULSE_ENABLED" value="false"/>
<env name="QUEUE_CONNECTION" value="sync"/> <env name="QUEUE_CONNECTION" value="sync"/>
+13
View File
@@ -0,0 +1,13 @@
<?php
// docker compose 將 DB_CONNECTION=mysql 注入為真實環境變數(存在於 $_SERVER),
// PHPUnit 的 <env force="true"> 只覆蓋 $_ENV / putenv,而 Laravel env() 透過
// phpdotenv 優先讀 $_SERVER——導致容器內跑測試時 RefreshDatabase 直接清空
// 開發用 MySQL2026-06-12 實際發生三次)。必須在 bootstrap 階段三者同步強制。
foreach (['DB_CONNECTION' => 'sqlite', 'DB_DATABASE' => ':memory:'] as $key => $value) {
$_SERVER[$key] = $value;
$_ENV[$key] = $value;
putenv("{$key}={$value}");
}
require __DIR__ . '/../vendor/autoload.php';