[salesforce]Winter’11以降にForce.com Sitesを有効にした組織で、MyProfilePageControllerが原因でdeployエラー
Winter’11リリース以降にForce.com Sitesを有効にした組織では、MyProfilePageController.cls、MyProfilePage.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ファイルが必要な場合は、たぶん自分で中身をゴリゴリ書き換えればいんではないかと。。