Apex開発と取引先チームについてです。取引先チーム(AccountTeamMember)のテストデータはApexクラス内で作成することができます。
次のような感じです。
Apexクラス

/**
* 取引先チームメンバー
*/
public static AccountTeamMember createAccountTeamMember(Account account, User user, Boolean isInsert) {
AccountTeamMember accountTeamMember = new AccountTeamMember(
AccountId = account.Id
,TeamMemberRole = 'Account Manager'
,UserId = user.Id
);
if (isInsert) {
insert accountTeamMember;
}
return accountTeamMember;
}
Apexテストクラス

/**
* 取引先チームメンバー
*/
static testMethod void createAccountTeamMemberTest() {
System.runAs(testAdminUser) {
Account account = CommonTester.createAccount(true);
// レコード無しをチェック
List<AccountTeamMember> testAccountTeamMembers = [SELECT Id FROM AccountTeamMember LIMIT 10];
System.assertEquals(testAccountTeamMembers.size(), 0);
Test.startTest();
// INSERTなし
AccountTeamMember result = CommonTester.createAccountTeamMember(account, testAdminUser, false);
System.assertEquals(String.isEmpty(result.Id), true);
// INSERTあり
result = CommonTester.createAccountTeamMember(account, testAdminUser, true);
System.assertEquals(String.isNotEmpty(result.Id), true);
Test.stopTest();
// レコードありをチェック
List<AccountTeamMember> resultAccountTeamMembers = [SELECT Id FROM AccountTeamMember LIMIT 10];
System.assertEquals(resultAccountTeamMembers.size(), 1);
}
}
取引先チームオブジェクトはシステムオブジェクトではないので、基本的にはテストクラス内から既存組織のレコードにアクセスすることはできません。
テストクラス内でINSERTすることでテストデータとして扱うことができます。

取引先チームオブジェクトの詳細はこちらです。
さいごに組織で取引先チームを使うには事前に有効化する必要があります。
