@isTest private class IDInformationAnalyseAssetControllerTest { Static String HospitalName; Static String HospitalID; Static List Assetss; static void setupTestData() { Oly_TriggerHandler.bypass('ContactTriggerHandler'); ControllerUtil.EscapeNFM001Trigger = true; // 省 Address_Level__c al = new Address_Level__c(); al.Name = '東京'; al.Level1_Code__c = 'CN-99'; al.Level1_Sys_No__c = '999999'; insert al; // 市 Address_Level2__c al2 = new Address_Level2__c(); al2.Level1_Code__c = 'CN-99'; al2.Level1_Sys_No__c = '999999'; al2.Level1_Name__c = '東京'; al2.Name = '渋谷区'; al2.Level2_Code__c = 'CN-9999'; al2.Level2_Sys_No__c = '9999999'; al2.Address_Level__c = al.id; insert al2; // 病院を作る Account hospital = new Account(); hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id; hospital.Name = 'test hospital'; hospital.Is_Active__c = '有効'; hospital.Attribute_Type__c = '卫生部'; hospital.Speciality_Type__c = '综合医院'; hospital.Grade__c = '一级'; hospital.OCM_Category__c = 'SLTV'; hospital.Is_Medical__c = '医疗机构'; hospital.State_Master__c = al.id; hospital.City_Master__c = al2.id; hospital.Town__c = '东京'; insert hospital; HospitalName = hospital.Name; HospitalID = hospital.Id; System.debug('111111111111111111111111111医院编码'+HospitalID); // 戦略科室を得る Account[] strategicDep = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_OTH']; // 診療科を作る Account dep = new Account(); dep.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_OTH'].id; dep.Name = 'test dep'; dep.AgentCode_Ext__c = '9999998'; dep.ParentId = strategicDep[0].Id; dep.Department_Class__c = strategicDep[0].Id; dep.Hospital__c = hospital.Id; insert dep; Contact contact2 = new Contact(); contact2.AccountId = dep.Id; // contact2.FirstName = '責任者'; contact2.LastName = 'test1经销商'; insert contact2; // 产品 Product2 pro5 = new Product2(Name='name05',IsActive=true,Family='SP', Fixture_Model_No__c='n05',Serial_Lot_No__c='S/N tracing', Fixture_Model_No_T__c = 'n05', Asset_Model_No__c = 'CF-H260AI', ProductCode_Ext__c='pc05',Manual_Entry__c=false,Can_Repair__c='可'); insert pro5; // 保有设备 Asset assetC1 = new Asset(Asset_Owner__c = 'Olympus'); assetC1.RecordTypeId = System.Label.Asset_RecordType; assetC1.SerialNumber = 'assetC1'; assetC1.Name = 'assetC1'; assetC1.AccountId = dep.Id; assetC1.Department_Class__c = strategicDep[0].Id; assetC1.Hospital__c = hospital.Id; assetC1.Product2Id = pro5.Id; assetC1.Quantity = 1; assetC1.Status = '有库存'; assetC1.Manage_type__c = '个体管理'; assetC1.Internal_asset_location__c = '北京 备品中心'; assetC1.Loaner_accsessary__c = true; assetC1.Delete_Flag__c = false; assetC1.Freeze_sign__c = false; assetC1.Out_of_wh__c = 0; assetC1.Status = '使用中'; // 保有设备 Asset asset = new Asset(Asset_Owner__c = 'Olympus'); asset.RecordTypeId = System.Label.Asset_RecordType; asset.SerialNumber = 'asset'; asset.Name = 'asset'; asset.AccountId = dep.Id; asset.Department_Class__c = strategicDep[0].Id; asset.Hospital__c = hospital.Id; asset.Product2Id = pro5.Id; asset.Quantity = 1; asset.Status = '有库存'; asset.Manage_type__c = '个体管理'; asset.Internal_asset_location__c = '北京 备品中心'; asset.Loaner_accsessary__c = true; asset.Delete_Flag__c = false; asset.Freeze_sign__c = false; asset.Out_of_wh__c = 0; asset.Status = '使用中'; insert new Asset[] {assetC1, asset}; Assetss = new Asset[] {assetC1, asset}; Repair__c repairObj1 = new Repair__c(); repairObj1.Delivered_Product__c = Assetss[0].Id; repairObj1.Hospital__c = hospital.Id; repairObj1.Department_Class__c = strategicDep[0].Id; repairObj1.Account__c = dep.Id; repairObj1.SalesOfficeCode_selection__c = '北京石景山'; repairObj1.On_site_repair__c = 'RC修理'; repairObj1.Failure_Occurrence_Date__c = Date.today(); repairObj1.Repair_Rank__c = 'A'; Oly_TriggerHandler.clearAllBypasses(); insert new Repair__c[]{repairObj1}; Repair__c r = [SELECT ID, Status__c,Repair_Severity_Rank__c,createddate,Delivered_Product__r.Product2.Asset_Model_No__c,Hospital__r.Name,Hospital__r.Parent_Management_Code__c From Repair__c Where Id = :repairObj1.Id]; } static testMethod void testMethod1() { setupTestData(); IDInformationAnalyseAssetController conTest = new IDInformationAnalyseAssetController(); conTest.init(); conTest.AssetModel = 'CF-H260AI'; conTest.HospitalName = HospitalName; conTest.YearRange = '3'; conTest.hospitalCount(); IDInformationAnalyseHospitalController conTest2 = new IDInformationAnalyseHospitalController(); conTest2.init(); conTest2.AccountID = HospitalID; conTest2.AssetModel = 'CF-H260AI'; conTest2.YearRange = '3'; conTest2.hospitalCount(); } }