Developer 資格勉強

スーパーバッジチャレンジ!Apex Specialist

Developer
この記事は約3分で読めます。

こんにちは、アンダーソンです。
今回も上級デベロッパーに必要なスーパーバッチのチャレンジをしていきます。
今回はApex Specialistにチャレンジします。

Apex Specialist

まずチャレンジの前に、スーパバッジの日本語訳サイトがありますので、今回はそちらを使わせていただきます。

日本語訳はこちら

そしてPalygroundは用意したまっさらなものでやっていきましょう。

スポンサーリンク

事前作業

  • 非管理パッケージのインストールが必要になりますのでインストールします。
  • CaseオブジェクトのラベルをMaintenance Requestへ変更します。
  • ProductオブジェクトのラベルをEquipmentへ変更します。

1. レコード作成の自動化

ラベルの変更をしたCaseとProductオブジェクトのページレイアウトを確認すると
HowWeRollと名前のついたレイアウトができているので全プロファイルにそれを割り当てます。
パッケージに含まれている、Triggerとハンドラクラスを変更します。
要件はTypeがRepairもしくは、Routine MaintenanceのCaseがクローズされるたびに
あらたなCaseが作成されるようにします。

2. Salesforceデータと外部システムの同期

WarehouseCalloutServiceを改修していきます。
・@future(callout=true)をつけて非同期からのコールアウトの呼び出し許可をしておきましょう。
・親切に定数で呼び出すエンドポイントが書かれているのでそれを設定します。
・戻り値をProduct2へ対応づけしてupsertします。
Product2のupsertはIdではなく、Warehouse_SKU__cを使用しなければいけないので注意しましょう。

3. 同期のスケジュール

すでに用意されているWarehouseSyncScheduleにSchedulable実装をして、WarehouseCalloutServiceのメソッドを呼び出すだけでOKです。
スケジュールの設定も忘れずに行いましょう。
匿名から、もしくは画面(Apexクラス→Apexをスケジュール)どちらからでもOKです。

4. 自動化処理のテスト

普通にテストクラスを作成します。すでに用意されている、InstallationTestsクラスに書き足すだけでOKです。カバー率は当たり前に100%でいきましょう。
簡単なコードなのでここは問題なく大丈夫かと思います。

5. コールアウト処理のテスト

Test.setMockを使わなければいけないので、ちょっと不安な方は
Apex REST コールアウト
ここを参考にしてみてください。
このチャレンジで、スケジュール設定から呼び出すようにしておけば、
次のチャレンジも合格できますので一石二鳥です。

6. スケジュール処理のテスト

スケジュール設定が不安な方は
Apex スケジューラを使用したジョブのスケジュール
ここを参考にしてみてください。

まとめ

今回自分自身初のスーパーバッチ取得になりました。
自分の弱い部分が見えるのでなかなかいい経験になりそうです。
上級デベロッパーに一歩近づきました。

その他の開発に関する記事はこちらです。

Developerも含めた試験問題にチャレンジしてみましょう。

コメント