Salesforce Community单体测试中”portal account owner must have a role”错误的解决方法

Salesforce中,如果以未指定角色的用户来执行含有Portal/Community用户测试数据新建逻辑的测试代码的话,会发生以下错误。原因是因为Portal客户的所有人必须被自动分配角色。

System.DmlException: Insert failed. First exception on row 0; first error: UNKNOWN_EXCEPTION, portal account owner must have a role

以下的示例代码将会说明这个问题。

解决方案

要解决此类错误,在执行用户的编辑页面事先分配某个角色,

User Edit  xgeek   Salesforce   Developer Edition 或者在测试代码中以已分配角色的用户身份进行执行测试代码,如以下代码所示:



Enjoy it!

Related Post

Lightning Component中使用Promise处理Apex服务端请求... In Lightning Components, each communication with Apex Server-Side is handled as a Javascript async request, and the callback you set is called after the server-side action is completed. A server-side action can return any JSON object, such as sObject or a map of name-value pairs. The followoing s...
Salesforce DevTools – Saleforce.com开发者必备Chro... Salesforce DevTools是针对Salesforce.com开发者开发的具备以下功能的Chrome扩展: ・自动生成Object数据接口文档(Excel)。 ・自动生成Salesforce数据模型的ER图svg文件。 ・在对象详细页面上,一键显示 / 隐藏对象API名。 ・自动生成测试数据的Apex Code,以及SOQL文 ・快捷打开Object的新建,列表及设定页面 ・Debug Log的快速检索以及Debug Log视图功能 ・简档,对象字段权限页面的All check功能 目前为止,这个扩展支持English, 日本語, 中文(繁體)或 中文(简体)...
Pipeline for Salesforce – Be less busy, less... Overview Pipeline is a metadata deploy app for Salesforce, supports: ・Making Changeset with Excel file in seconds. ・Exporting Pipeline target metadata list to Excel file. ・No dependencies on Salesforce Org, deploying metadata between any different organizations. ・Deploying metadata base o...
Salesforce批量编辑 (Chrome扩展) – 在任何标准视图上进行批量插入, ... "Salesforce批量编辑"是今年发布的第二个Chrome扩展功能(第一个在这里),具备以下机能: ・轻松将标准列表视图转变成功能强大的批量编辑器 ・批量插入,批量拷贝,批量更新,批量删除,所有功能都具备,同时支持Classic跟Lightning! ・支持将数据导出到CSV文件中 ・支持从Excel直接拷贝粘贴复数行・复数列的数据 "Salesforce批量编辑"支持几乎所有的Salesforce列表视图、no页面跳转,no附加设定,no kidding。 注意 : 在Classic上使用时,请确保不要勾选“Session Settings”中的“Require H...