[salesforce]Winter’11以降にForce.com Sitesを有効にした組織で、MyProfilePageControllerが原因でdeployエラー

By |12月 13, 2010|salesforce, |


Winter’11リリース以降にForce.com Sitesを有効にした組織では、MyProfilePageController.clsMyProfilePage.pageというファイルがデフォルトで組織内に保存されています。この2ファイルはSites上においてユーザのプロフィールページを表示するものです。

このクラスファイル内に書かれているテストコードに不具合があり、全体を本番デプロイする際にこのコードが引っかかってしまいエラーになる、という問題がおきているようです。

参考:
Bug in SFDC-provided test method for MyProfilePage…

テストコードにおいて、

[php]
User existingPortalUser = [SELECT id, profileId, userRoleId FROM User WHERE UserRoleId <> null AND UserType=’CustomerSuccess’ LIMIT 1];
[/php]

という部分があるのですが、このSOQLのWhereに該当するレコードが存在せずにエラーになってしまうようです。サポートでもまだ対応してくれない問題のようですが、とりあえずはこのクラスファイルとVisualforceページファイルを削除すれば通るようになりました。この2ファイルが必要な場合は、たぶん自分で中身をゴリゴリ書き換えればいんではないかと。。