@isTest private class OpportunityAndContactDailyUpdateTest { static testMethod void updaue() { OpportunityAndContactDailyUpdateBatch.test();//先调用这个,然后继续补充测试类 } @testsetup private static void setup (){ TestDataUtility.CreatePIPolicyConfigurations(new string[]{'Agency_Contact__c','Contact'}); string profid = '00e10000000Y3o5'; string rectHpID = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('HP').getRecordTypeId(); List classDeptStr = new List(); classDeptStr.add('Department_Class_GI'); classDeptStr.add('Department_Class_ET'); classDeptStr.add('Department_Class_BF'); classDeptStr.add('Department_Class_GS'); classDeptStr.add('Department_Class_URO'); classDeptStr.add('Department_Class_GYN'); classDeptStr.add('Department_Class_ENT'); classDeptStr.add('Department_Class_OTH'); List rectDept = [select Id,developername from RecordType where IsActive = true and SobjectType = 'Account' and developername in:classDeptStr]; Map classDeptMap = new Map(); for(String Str : classDeptStr){ for(RecordType rt : rectDept){ if(rt.developername == Str){ classDeptMap.put(Str, rt.Id); } } } //User hpOwner = new User(Test_staff__c = true, LastName = 'hp', FirstName = 'owner', Alias = 'hp', CommunityNickname = 'hpOwner', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = profid); //insert hpOwner; //user UserET = New User( // Alias = 'ET_User', // Email='ET_User@testorg.com', // EmailEncodingKey='UTF-8', // LastName='testUserET', // Firstname ='ET', // LanguageLocaleKey='zh_CN', // LocaleSidKey='zh_CN', // ProfileId = System.Label.ProfileId_SystemAdmin, // TimeZoneSidKey='Asia/Shanghai', // UserName='testUserET@testorg.com'); //insertUser.add(UserET); //user UserBF = New User( // Alias = 'BF_User', // Email='BF_User@testorg.com', // EmailEncodingKey='UTF-8', // LastName='testUserBF', // Firstname ='BF', // LanguageLocaleKey='zh_CN', // LocaleSidKey='zh_CN', // ProfileId = System.Label.ProfileId_SystemAdmin, // TimeZoneSidKey='Asia/Shanghai', // UserName='testUserBF@testorg.com'); //insertUser.add(UserBF); //user UserGS = New User( // Alias = 'SP_User', // Email='SP_User@testorg.com', // EmailEncodingKey='UTF-8', // LastName='testUserGS', // Firstname ='GS', // LanguageLocaleKey='zh_CN', // LocaleSidKey='zh_CN', // ProfileId = System.Label.ProfileId_SystemAdmin, // TimeZoneSidKey='Asia/Shanghai', // UserName='testUserGS@testorg.com'); //insertUser.add(UserGS); //user UserURO = New User( // Alias = 'URO_User', // Email='URO_User@testorg.com', // EmailEncodingKey='UTF-8', // LastName='testUserURO', // Firstname ='URO', // LanguageLocaleKey='zh_CN', // LocaleSidKey='zh_CN', // ProfileId = System.Label.ProfileId_SystemAdmin, // TimeZoneSidKey='Asia/Shanghai', // UserName='testUserURO@testorg.com'); //insertUser.add(UserURO); //user UserGYN = New User( // Alias = 'GYN_User', // Email='GYN_User@testorg.com', // EmailEncodingKey='UTF-8', // LastName='testUserGYN', // Firstname ='GYN', // LanguageLocaleKey='zh_CN', // LocaleSidKey='zh_CN', // ProfileId = System.Label.ProfileId_SystemAdmin, // TimeZoneSidKey='Asia/Shanghai', // UserName='testUserGYN@testorg.com'); //insertUser.add(UserGYN); //user UserENT = New User( // Alias = 'ENT_User', // Email='ENT_User@testorg.com', // EmailEncodingKey='UTF-8', // LastName='testUserENT', // Firstname ='ENT', // LanguageLocaleKey='zh_CN', // LocaleSidKey='zh_CN', // ProfileId = System.Label.ProfileId_SystemAdmin, // TimeZoneSidKey='Asia/Shanghai', // UserName='testUserENT@testorg.com'); //insertUser.add(UserENT); //user UserFSE = New User( // Alias = 'FSEUser', // Email='FSE_User@testorg.com', // EmailEncodingKey='UTF-8', // LastName='testUserFSE', // Firstname ='FSE', // LanguageLocaleKey='zh_CN', // LocaleSidKey='zh_CN', // ProfileId = System.Label.ProfileId_SystemAdmin, // TimeZoneSidKey='Asia/Shanghai', // UserName='testUserFSE@testorg.com'); //insertUser.add(UserFSE); //insert insertUser; //integer i = 0; // Map NameTOno = New Map(); //for(user usr : insertUser){ // NameTOno.put(usr.Id, usr.Employee_No__c); //} User thisUser = [select Id from User where Id = :UserInfo.getUserId() ]; System.runAs ( thisUser ){ List insertUser = new List(); user UserGI = New User( Alias = 'GI_User', Email='GI_User@testorg.com', EmailEncodingKey='UTF-8', LastName='testUserGI', Firstname ='GI', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = System.Label.ProfileId_SystemAdmin, TimeZoneSidKey='Asia/Shanghai', UserName='testUserGI@testorg.com'); insertUser.add(UserGI); insert insertUser; Account Hospital = new Account( name = 'Test Hospital', RecordTypeId = rectHpId, FSE_Main__c = thisUser.Id, ENT_owner_ID__c = thisUser.Id, GYN_owner__c = thisUser.Id, URO_owner_ID__c = thisUser.Id, SP_Main__c = thisUser.Id, BF_owner__c = thisUser.Id, ET_owner__c = thisUser.Id, GI_Main__c = thisUser.Id, Is_Active__c ='有効', FSE_SP_Main_Leader__c = thisUser.Id, OwnerId = thisUser.Id ); insert Hospital; List dcs = [Select Id, Name, Department_Class_Label__c from Account where Parent.Id = :Hospital.Id and Department_Class_Label__c = '呼吸科']; Account depart = new Account(); depart.RecordTypeId = '01210000000QfmR'; depart.Name = '消化科'; depart.Department_Name__c = '診療科'; depart.ParentId = dcs[0].Id; depart.Department_Class__c = dcs[0].Id; depart.Hospital__c = Hospital.Id; depart.OwnerId = '00510000005sEEM';//thisUser.Id; insert depart; //Contact core = new Contact(email='jplumber@salesforce.com', //firstname='Joe', //lastname='Plumber', //accountid=depart.id); //insert core; Opportunity target = new Opportunity( Name = 'aiueo', StageName = 'contact', CloseDate = Date.today(), accountid=depart.id);//accountid=depart.id target.Trade__c = '内貿'; target.CurrencyIsoCode = 'CNY'; target.Wholesale_Price__c = 9000; target.Sales_Root__c = 'AAA'; target.OwnerId = '00510000000fSYI'; target.owner_not_automatically_update__c = false; insert target; List oppList = [Select isOwnerDiffWithAccount__c ,Id, owner_not_automatically_update__c FROM Opportunity Where id =:target.id]; Inquiry_form__c inf =new Inquiry_form__c(); inf.Hospital_Name__c = depart.Id; inf.OwnerId = '00510000000fSYI'; inf.Name = 'test'; inf.Request1__c = '服务对应'; inf.Product1__c = '超声'; insert inf; Inquiry_form__c inf1 =new Inquiry_form__c(); inf1.Hospital_Name__c = depart.id; // inf1.Hospital_Name__r.OwnerId = '0056D000006h2MJ'; inf1.Hospital__c = Hospital.Id; inf1.OwnerId = '00510000000fSYI'; inf1.Name = 'test'; inf1.Request1__c = '服务对应'; inf1.Product1__c = '超声'; inf1.FSE_Owner__c = insertUser[0].Id; insert inf1; System.debug('lt12345-infHospital_Name__c:'+inf.Hospital_Name__c); System.debug('lt12345-inf:'+inf.isOwnerDiffWithAccount__c); System.debug('lt12345-inf1Hospital_Name__c:'+inf1.Hospital_Name__c); System.debug('lt12345-inf1:'+inf1.isOwnerDiffWithAccount__c); System.debug('lt12345-inf1OwnerId:'+inf1.OwnerId); System.debug('lt12345-inf1Hospital_Name__r.OwnerId:'+inf1.Hospital_Name__r.OwnerId); Tender_information__c info = new Tender_information__c(); info.Name = 'TEST001'; info.InfoTitle__c = 'TEST001'; info.AreaProvince__c = '北京'; info.Hospital__c = Hospital.Id; info.Hospital1__c = Hospital.Id; info.Hospital2__c = Hospital.Id; info.Hospital3__c = Hospital.Id; info.Hospital4__c = Hospital.Id; info.IsBid__c = '否'; info.InfoType__c = '3:结果'; info.OpportunityNum__c = 2; info.ResultDate__c=Date.today(); info.subInfoType__c='1-1:意见征集'; info.department_selection__c = '01210000000QemLAAS'; if(!NFMUtil.isSandbox()){ info.RecordTypeId = '01210000000VLZ8'; } else { info.RecordTypeId = '01210000000VLZ8'; } insert info; Tender_information__c info1 = new Tender_information__c(); info1.Name = 'TEST001'; info1.InfoTitle__c = 'TEST001'; info1.AreaProvince__c = '北京'; info1.CreatedDate = Date.today().addDays(-150); info1.Hospital__c = Hospital.Id; info1.Hospital1__c = Hospital.Id; info1.Hospital2__c = Hospital.Id; info1.Hospital3__c = Hospital.Id; info1.Hospital4__c = Hospital.Id; info1.IsBid__c = '否'; info1.InfoType__c = '3:结果'; info1.OpportunityNum__c = 2; info1.ResultDate__c=Date.today(); info1.subInfoType__c='1-1:意见征集'; info1.department_selection__c = '01210000000QemLAAS'; info.RecordTypeId = '01210000000VLZ8'; insert info1; } } @isTest static void Test1(){ Test.setMock(HttpCalloutMock.class, new HttpMock()); List lra = new List(); lra.add(new Agency_Contact__c( )); insert lra; Test.startTest(); //system.debug(PIHelper.getPIIntegrationInfo('Agency_Contact__c').newEncryptUrl); AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c'); AWSServiceTool2.EncryptPushFuture(null,null); Test.stopTest(); } @isTest static void Test2(){ Test.setMock(HttpCalloutMock.class, new HttpMock()); List lra = new List(); lra.add(new Agency_Contact__c( Aws_Data_Id__c = '123456' )); insert lra; Test.startTest(); //system.debug(PIHelper.getPIIntegrationInfo('Agency_Contact__c').newEncryptUrl); AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c'); Test.stopTest(); } @isTest static void Test3(){ Test.setMock(HttpCalloutMock.class, new HttpMock()); Test.startTest(); AWSServiceTool2.EncryptPushData(new string[]{'0031000000O4Cff'}); Test.stopTest(); } //@isTest // static void Test2(){ // Test.setMock(HttpCalloutMock.class, new HttpMock()); // List lra = new List(); // lra.add(new Agency_Contact__c( // Id = 'a2R1m0000007BPD', // Aws_Data_Id__c = '123456' // )); // Test.startTest(); // //system.debug(PIHelper.getPIIntegrationInfo('Agency_Contact__c').newEncryptUrl); // AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c'); // Test.stopTest(); // } class HttpMock implements HttpCalloutMock{ public HTTPResponse respond(HTTPRequest request) { // 创建一个假的回应 System.debug('------------------------------------------------------'); HttpResponse response = new HttpResponse(); string body = ''; system.debug(request.getEndpoint()); if(request.getEndpoint().contains('token')){ system.debug('url=token'); response.setHeader('Content-Type', 'application/json'); body='{ "message": "", "object": "freqfewqfewewfewfew", "status": "", "success": true, "timestamp": 0, "txId": "" }'; } else if(request.getEndpoint().contains('insert')){ system.debug('url=Insert'); response.setHeader('Content-Type', 'application/json'); body='{ "message": "", "object": [ { "dataId": "123456", "directShippmentAddress": "", "directShippmentAddressEncrypt": "", "isDelete": 0, "phoneNumber": "", "phoneNumberEncrypt": "", "sfRecordId": "a2R1m0000007BPD" } ], "status": "", "success": true, "timestamp": 0, "txId": "" }'; } else if(request.getEndpoint().contains('update')){ system.debug('url=update'); response.setHeader('Content-Type', 'application/json'); body='{ "message": "", "object": [ { "dataId": "123456", "directShippmentAddress": "", "directShippmentAddressEncrypt": "", "isDelete": 0, "phoneNumber": "", "phoneNumberEncrypt": "", "sfRecordId": "a2R1m0000007BPD" } ], "status": "", "success": true, "timestamp": 0, "txId": "" }'; } else{ } response.setBody(body); response.setStatus('OK'); response.setStatusCode(200); return response; // } } } static testMethod void testMethod1() { Test.setMock(HttpCalloutMock.class, new HttpMock()); List lra = new List(); lra.add(new Agency_Contact__c( Id = 'a2R1m0000007BPD', Aws_Data_Id__c = '123456' )); AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c'); list acclist = [select id from account where name ='Test Hospital']; Id execBTId = Database.executeBatch(new OpportunityAndContactDailyUpdateBatch(), 5); execBTId = Database.executeBatch(new OpportunityAndContactDailyUpdateBatch('1.华北'), 5); execBTId = Database.executeBatch(new OpportunityAndContactDailyUpdateBatch(10, acclist[0].id, acclist[0].id, acclist[0].id, acclist[0].id, acclist[0].id) , 5); execBTId = Database.executeBatch(new OpportunityAndContactDailyUpdateBatch(), 5); List < String > accList1 = new List < String > (); accList1.add(acclist[0].id); accList1.add(acclist[0].id); execBTId = Database.executeBatch(new OpportunityAndContactDailyUpdateBatch(accList1),1); } }