Rubric Controller (Tests\Feature\RubricController) [x] Rubric factory creates valid rubric [x] Rubric with criteria can be created [x] Rubric with categories can be created [x] Rubric can be updated [x] Rubric can be deleted [x] Evaluation can be saved for rubric [x] Rubric loads with relationships [x] Rubric evaluation cascade deletes [x] Index shows user rubrics [x] Index filters child rubrics [x] Index shows all rubrics with parameter [x] Create shows form [x] Store creates rubric [x] Store creates rubric with categories [x] Store validation fails [x] Store fails with invalid parent criterion [x] Edit shows form for owner [x] Edit denies non owner [x] Update modifies rubric [x] Update denies non owner [x] Update deletes removed criteria [x] Destroy deletes rubric [x] Destroy denies non owner [x] Show user evaluation displays form [x] Show user evaluation denies unauthorized [x] Save evaluation stores data [x] Save evaluation validation fails [x] Show results displays statistics [x] Show results denies non owner [x] Store with comment names [x] Update adds new category [x] Update modifies existing category [x] Update deletes removed categories [x] Update adds new criterion [x] Update deletes removed performances [x] Update fails with invalid parent criterion [x] Save evaluation with multiple criteria [x] Show results with multiple evaluations [x] Update skips invalid criterion id [x] Update skips invalid performance id [x] Store with performance level [x] Update adds new performance [x] Update with nonexistent criterion id [x] Update modifies existing performance [x] Store with valid parent criterion [x] Update with valid parent criterion [ ] Index without show all returns only user rubrics [ ] Index with show all includes child rubrics [ ] Index with show all returns all rubrics [x] Store with show points false [x] Store without show points defaults to true [x] Update with show points false [x] Description is optional [x] Store with description [ ] Store with other users criterion returns 403 [x] Update deletes removed items [x] Update skips criteria from other rubrics [x] Get parent criteria returns user criteria [x] Get parent criteria excludes child rubrics [x] Get parent criteria excludes specified rubric [x] Get parent criteria excludes other users rubrics [x] Copy creates duplicate rubric [x] Copy denies non owner [x] Copy includes child rubrics [x] Copy includes comment names [x] Copy removes parent link [x] Save evaluation with reflection comments [x] Store prevents multi level hierarchy [x] Update prevents multi level hierarchy [x] Update with comment names [x] Update removes comment names [x] Update with empty comment names deletes all [x] Store with nonexistent parent criterion [x] Update uses existing category id Rubric Criteria (Tests\Unit\RubricCriteria) [x] Can create rubric criterion [x] Belongs to rubric [x] Has many performances [x] Timestamps are set [x] Fillable attributes [x] Has one rubric relationship [x] Belongs to category Rubric Criterion Categories (Tests\Unit\RubricCriterionCategories) [x] Can create rubric criterion category [x] Fillable attributes [x] Belongs to rubric [x] Has many criteria [x] Timestamps are set Rubric Evaluation (Tests\Unit\RubricEvaluation) [x] Can create rubric evaluation [x] Fillable attributes [x] Casts evaluated at to datetime [x] Casts total score to decimal [x] Belongs to rubric [x] Has many details [x] General comment is nullable [x] Total score is nullable [x] Evaluated at is nullable Rubric Evaluation Detail (Tests\Unit\RubricEvaluationDetail) [x] Can create rubric evaluation detail [x] Fillable attributes [x] Casts score to decimal [x] Belongs to evaluation [x] Belongs to criterion [x] Belongs to performance [x] Comment is nullable [x] Cascade delete on evaluation delete Rubric Performances (Tests\Unit\RubricPerformances) [x] Can create rubric performance [x] Belongs to criterion [x] Fillable attributes [x] Point can be set [x] Timestamps are set [x] Level can be set Rubrics (Tests\Unit\Rubrics) [x] Can create rubric [x] Fillable attributes [x] Has many categories [x] Has many criteria [x] Belongs to parent criterion [x] Description is nullable [x] Show points nullable [x] Timestamps are set User (Tests\Unit\User) [x] Can create user [x] Fillable attributes [x] Hidden attributes [x] Password is hashed [x] Email verified at is datetime [x] Optional fields are nullable [x] User factory creates valid user [x] Unverified factory state [x] Timestamps are set