@isTest private class UpAccountProLimitTest { @isTest static void proLimitTest() { List rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; if (rectCo.size() == 0) { return; } Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限']; Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true); Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true); insert new Product2[]{prod01,prod02}; prod01.SFDA_Status__c = '不要'; prod02.SFDA_Status__c = '不要'; update prod01; update prod02; // Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id); // Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id); // insert new Product2__c[] {pro1, pro2}; Account myAccount2 = new Account(Name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,Product_Limit_Date__c = 'Test01|2|4'); insert myAccount2; Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount2.id); insert core; user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET'); // System.runAs(new User(Id = UserInfo.getUserId())){ // insert MyUser_Test; // } // system.runAs(MyUser_Test){ Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id); Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id); insert new Product2__c[] {pro1, pro2}; String productLimit = 'Test01|2|4,Test02|3|5'; String resultText = UpAccountProLimit.upAccount(myAccount2.Id,productLimit,'ET'); List accountre = [select Id,Product_Limit_Date__c from Account where Id = :myAccount2.Id ]; List pro2List = [select Id,Estimation_Entry_Possibility__c from Product2__c]; System.assertEquals(2, pro2List.size()); System.assertEquals('○', pro2List[0].Estimation_Entry_Possibility__c); // System.assertEquals('Test01|2|4,Test02|3|5', accountre[0].Product_Limit_Date__c); // } } }