use RefreshDatabase;Laravel phpunit erreur use RefreshDatabase
Bonjour à tous,
Pourriez vous m'aider s'il vous plait?
Je veux utiliser RefreshDatabase pour effacer les données utilisé durant les tests. Seul soucis J'ai des erreurs lorsque j'utilise avec phpunit (si je comment ça fonctionne).
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
| ) Tests\Services\ApiServiceTest::testUserLogin
Error: Undefined class constant 'STATUS_PREDUCT_CREATED'
/application/database/migrations/2018_08_06_185448_add_state_to_product.php:15
/application/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:360
/application/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:367
/application/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:178
/application/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:147
/application/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:96
/application/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php:71
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:29
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:87
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:31
/application/vendor/laravel/framework/src/Illuminate/Container/Container.php:572
/application/vendor/laravel/framework/src/Illuminate/Console/Command.php:183
/application/vendor/symfony/console/Command/Command.php:255
/application/vendor/laravel/framework/src/Illuminate/Console/Command.php:170
/application/vendor/laravel/framework/src/Illuminate/Console/Command.php:198
/application/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/FreshCommand.php:55
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:29
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:87
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:31
/application/vendor/laravel/framework/src/Illuminate/Container/Container.php:572
/application/vendor/laravel/framework/src/Illuminate/Console/Command.php:183
/application/vendor/symfony/console/Command/Command.php:255
/application/vendor/laravel/framework/src/Illuminate/Console/Command.php:170
/application/vendor/symfony/console/Application.php:886
/application/vendor/symfony/console/Application.php:262
/application/vendor/symfony/console/Application.php:145
/application/vendor/laravel/framework/src/Illuminate/Console/Application.php:89
/application/vendor/laravel/framework/src/Illuminate/Console/Application.php:188
/application/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:250
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/PendingCommand.php:136
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/PendingCommand.php:218
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithConsole.php:55
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/RefreshDatabase.php:55
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/RefreshDatabase.php:18
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:104
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:71
/application/tests/Services/ApiVcServiceTest.php:36
2) Tests\Services\ApiServiceTest::testAddPreduct
Error: Undefined class constant 'STATUS_PREDUCT_CREATED'
/application/database/migrations/2018_08_06_185448_add_state_to_product.php:15
/application/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:360
/application/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:367
/application/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:178
/application/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:147
/application/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:96
/application/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php:71
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:29
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:87
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:31
/application/vendor/laravel/framework/src/Illuminate/Container/Container.php:572
/application/vendor/laravel/framework/src/Illuminate/Console/Command.php:183
/application/vendor/symfony/console/Command/Command.php:255
/application/vendor/laravel/framework/src/Illuminate/Console/Command.php:170
/application/vendor/laravel/framework/src/Illuminate/Console/Command.php:198
/application/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/FreshCommand.php:55
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:29
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:87
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:31
/application/vendor/laravel/framework/src/Illuminate/Container/Container.php:572
/application/vendor/laravel/framework/src/Illuminate/Console/Command.php:183
/application/vendor/symfony/console/Command/Command.php:255
/application/vendor/laravel/framework/src/Illuminate/Console/Command.php:170
/application/vendor/symfony/console/Application.php:886
/application/vendor/symfony/console/Application.php:262
/application/vendor/symfony/console/Application.php:145
/application/vendor/laravel/framework/src/Illuminate/Console/Application.php:89
/application/vendor/laravel/framework/src/Illuminate/Console/Application.php:188
/application/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:250
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/PendingCommand.php:136
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/PendingCommand.php:218
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithConsole.php:55
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/RefreshDatabase.php:55
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/RefreshDatabase.php:18
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:104
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:71
/application/tests/Services/ApiVcServiceTest.php:36
3) Tests\Services\ApiServiceTest::testSubmitPreduct
Error: Undefined class constant 'STATUS_PREDUCT_CREATED'
/application/database/migrations/2018_08_06_185448_add_state_to_product.php:15
/application/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:360
/application/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:367
/application/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:178
/application/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:147
/application/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:96
/application/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php:71
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:29
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:87
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:31
/application/vendor/laravel/framework/src/Illuminate/Container/Container.php:572
/application/vendor/laravel/framework/src/Illuminate/Console/Command.php:183
/application/vendor/symfony/console/Command/Command.php:255
/application/vendor/laravel/framework/src/Illuminate/Console/Command.php:170
/application/vendor/laravel/framework/src/Illuminate/Console/Command.php:198
/application/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/FreshCommand.php:55
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:29
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:87
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:31
/application/vendor/laravel/framework/src/Illuminate/Container/Container.php:572
/application/vendor/laravel/framework/src/Illuminate/Console/Command.php:183
/application/vendor/symfony/console/Command/Command.php:255
/application/vendor/laravel/framework/src/Illuminate/Console/Command.php:170
/application/vendor/symfony/console/Application.php:886
/application/vendor/symfony/console/Application.php:262
/application/vendor/symfony/console/Application.php:145
/application/vendor/laravel/framework/src/Illuminate/Console/Application.php:89
/application/vendor/laravel/framework/src/Illuminate/Console/Application.php:188
/application/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:250
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/PendingCommand.php:136
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/PendingCommand.php:218
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithConsole.php:55
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/RefreshDatabase.php:55
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/RefreshDatabase.php:18
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:104
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:71
/application/tests/Services/ApiVcServiceTest.php:36
4) App\Test\Services\FluxProcessTest::testProcessFlux
Error: Undefined class constant 'STATUS_PREDUCT_CREATED'
/application/database/migrations/2018_08_06_185448_add_state_to_product.php:15
/application/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:360
/application/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:367
/application/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:178
/application/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:147
/application/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:96
/application/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php:71
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:29
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:87
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:31
/application/vendor/laravel/framework/src/Illuminate/Container/Container.php:572
/application/vendor/laravel/framework/src/Illuminate/Console/Command.php:183
/application/vendor/symfony/console/Command/Command.php:255
/application/vendor/laravel/framework/src/Illuminate/Console/Command.php:170
/application/vendor/laravel/framework/src/Illuminate/Console/Command.php:198
/application/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/FreshCommand.php:55
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:29
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:87
/application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:31
/application/vendor/laravel/framework/src/Illuminate/Container/Container.php:572
/application/vendor/laravel/framework/src/Illuminate/Console/Command.php:183
/application/vendor/symfony/console/Command/Command.php:255
/application/vendor/laravel/framework/src/Illuminate/Console/Command.php:170
/application/vendor/symfony/console/Application.php:886
/application/vendor/symfony/console/Application.php:262
/application/vendor/symfony/console/Application.php:145
/application/vendor/laravel/framework/src/Illuminate/Console/Application.php:89
/application/vendor/laravel/framework/src/Illuminate/Console/Application.php:188
/application/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:250
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/PendingCommand.php:136
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/PendingCommand.php:218
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithConsole.php:55
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/RefreshDatabase.php:55
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/RefreshDatabase.php:18
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:104
/application/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:71
/application/tests/Services/FluxProcessTest.php:39 |
Si je regarde dans le fichier de migration
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| <?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Migrations\Migration;
class AddStateToProduct extends Migration
{
public function up()
{
Schema::table('vendor_flux_product', function($table) {
$table->string('state')->default(\App\Models\VendorFluxProduct::STATE_PENDING_VALIDATION);
$table->timestamps();
});
DB::statement(sprintf('UPDATE VC_vendor_flux_product SET state = "%s" WHERE status = "%s"', \App\Models\VendorFluxProduct::STATE_PENDING_VALIDATION, \App\Models\VendorFluxProduct::STATUS_PREDUCT_CREATED));
DB::statement(sprintf('UPDATE VC_vendor_flux_product SET state = "%s" WHERE status = "%s"', \App\Models\VendorFluxProduct::STATE_VALIDATED, \App\Models\VendorFluxProduct::STATUS_PRODUCT_ON_VC));
}
public function down()
{
Schema::table('vendor_flux_product', function($table) {
$table->dropColumn('state');
$table->dropTimestamps();
});
}
} |
En effet la constante STATUS_PREDUCT_CREATED n'existe pas.
Du coup je ne comprend pas trop, lors d'une migration comment s'execute les fichiers? Ce fichier est assez ancien, c'est un projet que j'ai récup pourquoi est-il executé? Comment je peux résoudre le problème?
Merci de votre aide :)
Edit: finalement le problème venait d'un insertion par une migration en utilisant un état qui n'existe plus dans le smodèles j'ai supprimé les insertions et ça roule.