Allied ArchitectsAllied ArchitectsEngineer Blog

第一章6 『Labelモデルに関わるサービスとリポジトリの実装』

2022/03/18 Laravel

前回のあらすじ

リポジトリクラスとサービスクラスをいい感じに作ってくれるテンプレートとコマンドを設定してTodoモデルとLabelモデル用のリポジトリクラスとサービスクラスを作ってTodoモデル用のリポジトリクラスとサービスクラスの中身を修正してテストした。

 

今回はLabelモデル用のリポジトリクラスとサービスクラスのコードを書いていく。やる事は前回とほぼ同じ。

app/Repositories/LabelRepository.phpを以下のように編集する。

 

次はサービスクラス。

app/Services/Label/CreateLabelService.phpを以下のように編集する。

 

app/Services/Label/DeleteLabelService.phpを以下のように編集。

 

app/Services/Label/GetLabelsService.phpを以下のように編集。

 

app/Services/Label/UpdateLabelService.phpを以下のように編集。

 

リポジトリクラスとサービスクラスができたのでテストを書いていく。

テストを作成。

 

tests/Unit/Repositories/LabelRepositoryTest.phpを以下のように編集。

 

テストを実行。

 

こんな感じのが表示されれば成功。

tests/Unit/Servicesの下にTodoモデルのサービステストを書いてしまっていたのでtests/Unit/Services/Todoの下に移動させた。

次はサービスクラスのテストを書いていく。

 

tests/Unit/Services/Label/CreateLabelServiceTest.phpを以下のように編集する。

 

tests/Unit/Services/Label/DeleteLabelServiceTest.phpを以下のように編集する。

 

tests/Unit/Services/Label/GetLabelsServiceTest.phpを以下のように編集する。

 

tests/Unit/Services/Label/UpdateLabelServiceTest.phpを以下のように編集する。

 

テストを実行。

 

こんな感じのが表示されれば成功。

れっちり
  • れっちり
  • 2021年新卒入社。letroの開発・運用業務を担当しています。

RELATION ENTRY

第一章11『子コンポーネントにプロパティを渡してグループ分けしたtodoを表示する』

第一章11『子コンポーネントにプロパティ...

2022/04/22 Vue.js

前回、todoを期限でグループ分けしたのでtodoGroupsの中のtodoにアクセスするためにはtodoGroups.within.today.todos[0]というようにする必要がある。また、todoGroups.within.todayまで到達したあとの処理は期限切れ、今日のもの、明日のもの、...

続きを読む

第一章10 『取得したtodoを期限でグループ分けする』

第一章10 『取得したtodoを期限でグ...

2022/04/18 Vue.js

取得した後に期限ごとにグループ分けをしたいので関数を追加する。 まず、getTodos関数によって取得したtodosはidの昇順になっているので、期限の日付で並び替えを行う。 以下の関数をmethodsに追加する。getTodos関数で取得してきたtodosをdataのtodos(以後this....

続きを読む

れっちりの記事一覧へ

ページTOPへ