処理を作成しました。
テストメソッドで、あれ?どうすんの?と思ったので、メモ
// Userのトリガー trigger UserTrigger on User (after insert) { // ユーザ作成後にオブジェクトを作成する。 UserInsertExecute.insertUserInfo(Trigger.newMap.keySet()); } UserInsertExecute クラス @future public static void insertUserInfo(Set@futureが必要みたい。理由はググって教えてください。ids) { User user = [Select Id,CompanyName,LastName,FirstName,Department
というような、処理。以下テスト
private static final String TEST_EMAIL = 'hogehoge@exsample.com'; private static final String TEST_ACCOUNT_NAME = 'ApexAccountName'; private static final String TEST_CONTACT_LASTNAME = 'ApexContactLASTNAME'; private static final String TEST_CONTACT_FIRSTNAME = 'ApexContactFIRSTNAME'; private static final String TEST_USER_ALIAS = '別名'; Account acc = new Account(Name=TEST_ACCOUNT_NAME); insert acc; System.debug('■acc : ' + acc.Id); Contact con = new Contact( AccountId = acc.Id ,LastName = TEST_CONTACT_LASTNAME ,FirstName = TEST_CONTACT_FIRSTNAME ,CanAllowPortalSelfReg = true ); insert con; System.debug('■con : ' + con.Id); Profile pro = [Select name, id From Profile where UserLicense.Name like '%Customer Portal%' LIMIT 1]; User u = new User( Username = TEST_EMAIL ,LastName = TEST_CONTACT_LASTNAME ,Alias = TEST_USER_ALIAS ,TimeZoneSidKey = 'Asia/Tokyo' ,LocaleSidKey = 'ja_JP' ,EmailEncodingKey = 'ISO-2022-JP' ,LanguageLocaleKey = 'ja' ,Email = TEST_EMAIL ,CommunityNickname = 'CommunityNickname' ,ContactId = con.Id ,ProfileId = pro.Id ); insert u;参考:Provisioning Customer Portal Users with Apex
0 件のコメント:
コメントを投稿