Winter'19 環境になるとApex全テスト実行でエラーが発生する場合がある
Summer'18以前の環境ではエラーは発生しないが、Winter'19 環境以降でApexクラスの全テスト(「すべてのテストを実行」ボタンから実行)を実行すると、SkyVisualEditorパッケージ内のApexクラスでエラーが発生する。
またこの事象は、Sandboxから本番環境に変更セット送信時にも発生する可能性がある。
メッセージの一例
System.DmlException: Update failed. First exception on row 0 with id xxxxxxxxxxxxxxxxxx; first error: FIELD_INTEGRITY_EXCEPTION, このユーザはポータルのシステム管理者であるため、「セルフサービスユーザの編集」権限を含むプロファイルを持っている必要があります。: [UserPermissions]
対象
「カスタマーポータル設定」にて設定している「管理者」ユーザーが、デフォルトのシステム管理者プロファイルを使用している場合。
原因
Winter'19 から、すべての標準プロファイルからの「カスタマーユーザの管理」権限(旧名「セルフサービスユーザの編集」権限)が削除されている。
しかしカスタマーポータル設定の「管理者」には「カスタマーユーザの管理」権限が必要なため、カスタマーポータル設定に不整合が生じてしまい、Apexクラスのテストでエラーが発生してしまう。
◇Salesforce Winter '19 リリースノート:すべての標準プロファイルからの「カスタマーユーザの管理」権限の削除
http://releasenotes.docs.salesforce.com/ja-jp/winter19/release-notes/rn_networks_manage_customer_users.htm
解決策
SkyVisualEditorのパッケージは管理パッケージのため、Apexクラステストエラーが発生しても動作に支障は全くありません。そのため、エラーを無視して問題ありません。
エラーの解決策としては、以下をご確認ください。
カスタマーポータル設定の「管理者」ユーザープロファイルを、標準プロファイルからカスタムプロファイルに変更
カスタムプロファイルに「カスタマーユーザの管理」権限を付与
カスタマーポータル設定が問題ないことを確認するため「編集」->「保存」を実行
なお、本事象は2018年9月26日時点の情報です。