$dossier, 'contenus.themes' => ['01-sequence-test' => 'LIN']]); return $dossier; } it('crée la banque officielle et ses quiz depuis les quiz.gift', function () { $dossier = dossierContenusDeTest(); $this->artisan('quiz:synchroniser-banque')->assertSuccessful(); $classe = Classe::where('nom', 'Banque officielle')->first(); expect($classe)->not->toBeNull(); $quiz = Quiz::where('classe_id', $classe->id)->where('titre', 'Séquence de test')->first(); expect($quiz)->not->toBeNull() ->and($quiz->theme)->toBe('LIN') ->and($quiz->partage)->toBeTrue() ->and($quiz->questions)->toHaveCount(2); $qcm = $quiz->questions->firstWhere('type', 'qcm'); expect($qcm->choix)->toHaveCount(2) ->and($qcm->choix->firstWhere('est_correct', true)->texte)->toBe('bonne réponse'); $vraiFaux = $quiz->questions->firstWhere('type', 'vrai_faux'); expect($vraiFaux->reponse_vrai_faux)->toBeTrue(); File::deleteDirectory($dossier); }); it('ne duplique rien et remplace les questions à une nouvelle synchronisation', function () { $dossier = dossierContenusDeTest(); $this->artisan('quiz:synchroniser-banque')->assertSuccessful(); $this->artisan('quiz:synchroniser-banque')->assertSuccessful(); expect(Classe::where('nom', 'Banque officielle')->count())->toBe(1) ->and(Quiz::where('titre', 'Séquence de test')->count())->toBe(1); File::deleteDirectory($dossier); });