| | |
| | | * Insert Asset 找不到 Account |
| | | * 做 Account, 做 Group, 设定 AccountShare |
| | | */ |
| | | @isTest |
| | | static void beforeSetAccountId_InsertAsset_FeatureInsertAcc() { |
| | | // 做数据 |
| | | setupAccount(new List<String> {}); |
| | | // @isTest |
| | | // static void beforeSetAccountId_InsertAsset_FeatureInsertAcc() { |
| | | // // 做数据 |
| | | // // setupAccount(dataAccShareNameList); |
| | | |
| | | // Olympus社内 |
| | | List<Account> olympusAccount = [SELECT Id |
| | | FROM Account |
| | | WHERE Name LIKE 'Olympus社内%' |
| | | ORDER BY Name]; |
| | | // // Olympus社内 |
| | | // // List<Account> olympusAccount = [SELECT Id,name |
| | | // // FROM Account |
| | | // // WHERE Name LIKE 'Olympus社内%' |
| | | // // ORDER BY Name]; |
| | | |
| | | AssetHandler.testTargetDepts = new Set<String> {'1.华北Test', '4.华东Test'}; |
| | | List<String> insertAccShareNameList = new List<String> {'备品共享_北京_华北Test', '备品共享_上海_华东Test'}; |
| | | |
| | | // 产品 |
| | | 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', |
| | | ProductCode_Ext__c='pc05',Manual_Entry__c=false); |
| | | insert pro5; |
| | | // // 省 |
| | | // 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; |
| | | |
| | | Asset assetC1 = new Asset(Asset_Owner__c = 'Olympus'); |
| | | assetC1.RecordTypeId = System.Label.Asset_RecordType; |
| | | assetC1.AssetManageConfirm__c = true; |
| | | assetC1.SerialNumber = 'assetC1'; |
| | | assetC1.Name = 'assetC1'; |
| | | assetC1.Hospital__c = olympusAccount[0].Id; |
| | | assetC1.Department_Class__c = olympusAccount[1].Id; |
| | | assetC1.AccountId = olympusAccount[2].Id; |
| | | assetC1.Product2Id = pro5.Id; |
| | | assetC1.Quantity = 1; |
| | | assetC1.Status = '有库存'; |
| | | assetC1.Manage_type__c = '个体管理'; |
| | | assetC1.Internal_asset_location__c = '北京'; |
| | | assetC1.Salesdepartment__c = '1.华北Test'; |
| | | assetC1.Loaner_accsessary__c = true; |
| | | assetC1.Delete_Flag__c = false; |
| | | assetC1.Freeze_sign__c = false; |
| | | assetC1.Out_of_wh__c = 0; |
| | | // // 病院を作る |
| | | // ControllerUtil.EscapeNFM001Trigger = true; |
| | | // StaticParameter.EscapeNFM001Trigger = true; |
| | | // StaticParameter.EscapeAccountTrigger = true; |
| | | // StaticParameter.EscapeNFM001AgencyContractTrigger = true; |
| | | |
| | | Asset assetC2 = new Asset(Asset_Owner__c = 'Olympus'); |
| | | assetC2.RecordTypeId = System.Label.Asset_RecordType; |
| | | assetC2.AssetManageConfirm__c = true; |
| | | assetC2.SerialNumber = 'assetC2'; |
| | | assetC2.Name = 'assetC2'; |
| | | assetC2.Hospital__c = olympusAccount[0].Id; |
| | | assetC2.Department_Class__c = olympusAccount[1].Id; |
| | | assetC2.AccountId = olympusAccount[2].Id; |
| | | assetC2.Product2Id = pro5.Id; |
| | | assetC2.Quantity = 1; |
| | | assetC2.Status = '有库存'; |
| | | assetC2.Manage_type__c = '个体管理'; |
| | | assetC2.Internal_asset_location__c = '上海'; |
| | | assetC2.Salesdepartment__c = '4.华东Test'; |
| | | assetC2.Loaner_accsessary__c = true; |
| | | assetC2.Delete_Flag__c = false; |
| | | assetC2.Freeze_sign__c = false; |
| | | assetC2.Out_of_wh__c = 0; |
| | | // Account hospital = new Account(); |
| | | // hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id; |
| | | // System.debug('病院完了!'); |
| | | // 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; |
| | | // System.debug('病院 insert 完了!'); |
| | | |
| | | Test.startTest(); |
| | | insert new List<Asset> {assetC1, assetC2}; |
| | | Test.stopTest(); |
| | | // // 戦略科室を得る |
| | | // Account strategicDep = new Account(); |
| | | // strategicDep.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_Class_OTH'].id; |
| | | // strategicDep.Name = 'Olympus社内 其他'; |
| | | // strategicDep.Department_Class_Label__c = '其他'; |
| | | // strategicDep.Hospital__c = hospital.Id; |
| | | // strategicDep.ParentId = hospital.Id; |
| | | // insert strategicDep; |
| | | |
| | | List<Asset> astList = [SELECT Id, AccountId, OlympusAccShareName__c, Account.Department_Name__c FROM Asset ORDER BY SerialNumber]; |
| | | System.assertEquals(2, astList.size()); |
| | | System.assertEquals('备品共享_北京_华北Test', astList[0].OlympusAccShareName__c); |
| | | System.assertEquals('备品共享_北京_华北Test', astList[0].Account.Department_Name__c); |
| | | System.assertEquals('备品共享_上海_华东Test', astList[1].OlympusAccShareName__c); |
| | | System.assertEquals('备品共享_上海_华东Test', astList[1].Account.Department_Name__c); |
| | | // // 診療科を作る |
| | | // 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.Id; |
| | | // dep.Department_Class__c = strategicDep.Id; |
| | | // dep.Hospital__c = hospital.Id; |
| | | // insert dep; |
| | | // System.debug('診療科 insert 完了!'); |
| | | |
| | | Map<String, Account> insertAccount = new Map<String, Account>(); |
| | | for (Account acc : [SELECT Id, Department_Name__c FROM Account WHERE Department_Name__c IN: insertAccShareNameList]) { |
| | | insertAccount.put(acc.Department_Name__c, acc); |
| | | } |
| | | System.assertEquals(2, insertAccount.size()); |
| | | |
| | | astList = [SELECT Id, AccountId FROM Asset WHERE Account.Department_Name__c IN: insertAccShareNameList]; |
| | | System.assertEquals(2, astList.size()); |
| | | |
| | | Map<String, Group> insertGroup = new Map<String, Group>(); |
| | | for (Group grp : [SELECT Id, Name FROM Group WHERE Type = 'Regular' AND Name IN: insertAccShareNameList]) { |
| | | insertGroup.put(grp.Name, grp); |
| | | } |
| | | System.assertEquals(2, insertGroup.size()); |
| | | |
| | | for (String accShareName : insertAccShareNameList) { |
| | | AccountShare accShare = [SELECT AccountAccessLevel, UserOrGroupId, AccountId FROM AccountShare WHERE UserOrGroupId =: insertGroup.get(accShareName).Id AND AccountId =: insertAccount.get(accShareName).Id]; |
| | | System.assertEquals('Edit', accShare.AccountAccessLevel); |
| | | } |
| | | } |
| | | |
| | | |
| | | // AssetHandler.testTargetDepts = new Set<String> {'1.华北Test', '4.华东Test'}; |
| | | // List<String> insertAccShareNameList = new List<String> {'备品共享_北京_华北Test', '备品共享_上海_华东Test'}; |
| | | |
| | | // // 产品 |
| | | // 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', |
| | | // ProductCode_Ext__c='pc05',Manual_Entry__c=false); |
| | | // insert pro5; |
| | | |
| | | // Asset assetC1 = new Asset(Asset_Owner__c = 'Olympus'); |
| | | // assetC1.RecordTypeId = System.Label.Asset_RecordType; |
| | | // assetC1.AssetManageConfirm__c = true; |
| | | // assetC1.SerialNumber = 'assetC1'; |
| | | // assetC1.Name = 'assetC1'; |
| | | // assetC1.Hospital__c = hospital.Id; |
| | | // assetC1.Department_Class__c = strategicDep.Id; |
| | | // assetC1.AccountId = dep.Id; |
| | | // assetC1.Product2Id = pro5.Id; |
| | | // assetC1.Quantity = 1; |
| | | // assetC1.Status = '有库存'; |
| | | // assetC1.Manage_type__c = '个体管理'; |
| | | // assetC1.Internal_asset_location__c = '北京'; |
| | | // assetC1.Salesdepartment__c = '1.华北Test'; |
| | | // assetC1.Loaner_accsessary__c = true; |
| | | // assetC1.Delete_Flag__c = false; |
| | | // assetC1.Freeze_sign__c = false; |
| | | // assetC1.Out_of_wh__c = 0; |
| | | |
| | | // Asset assetC2 = new Asset(Asset_Owner__c = 'Olympus'); |
| | | // assetC2.RecordTypeId = System.Label.Asset_RecordType; |
| | | // assetC2.AssetManageConfirm__c = true; |
| | | // assetC2.SerialNumber = 'assetC2'; |
| | | // assetC2.Name = 'assetC2'; |
| | | // assetC2.Hospital__c = hospital.Id; |
| | | // assetC2.Department_Class__c = strategicDep.Id; |
| | | // assetC2.AccountId = dep.Id; |
| | | // assetC2.Product2Id = pro5.Id; |
| | | // assetC2.Quantity = 1; |
| | | // assetC2.Status = '有库存'; |
| | | // assetC2.Manage_type__c = '个体管理'; |
| | | // assetC2.Internal_asset_location__c = '上海'; |
| | | // assetC2.Salesdepartment__c = '4.华东Test'; |
| | | // assetC2.Loaner_accsessary__c = true; |
| | | // assetC2.Delete_Flag__c = false; |
| | | // assetC2.Freeze_sign__c = false; |
| | | // assetC2.Out_of_wh__c = 0; |
| | | |
| | | // Test.startTest(); |
| | | // // System.assertEquals('0011000000ezjp5AAA', olympusAccount[2].Id); |
| | | // // System.assertEquals('Olympus社内 其他 系统管理用', olympusAccount[2].Name); |
| | | // insert new List<Asset> {assetC1, assetC2}; |
| | | // Test.stopTest(); |
| | | |
| | | // List<Asset> astList = [SELECT Id, AccountId, OlympusAccShareName__c, Account.Department_Name__c FROM Asset ORDER BY SerialNumber]; |
| | | // System.assertEquals(2, astList.size()); |
| | | // System.assertEquals('备品共享_北京_华北Test', astList[0].OlympusAccShareName__c); |
| | | // System.assertEquals('备品共享_北京_华北Test', astList[0].Account.Department_Name__c); |
| | | // System.assertEquals('备品共享_上海_华东Test', astList[1].OlympusAccShareName__c); |
| | | // System.assertEquals('备品共享_上海_华东Test', astList[1].Account.Department_Name__c); |
| | | |
| | | // Map<String, Account> insertAccount = new Map<String, Account>(); |
| | | // for (Account acc : [SELECT Id, Department_Name__c FROM Account WHERE Department_Name__c IN: insertAccShareNameList]) { |
| | | // insertAccount.put(acc.Department_Name__c, acc); |
| | | // } |
| | | // System.assertEquals(2, insertAccount.size()); |
| | | |
| | | // astList = [SELECT Id, AccountId FROM Asset WHERE Account.Department_Name__c IN: insertAccShareNameList]; |
| | | // System.assertEquals(2, astList.size()); |
| | | |
| | | // Map<String, Group> insertGroup = new Map<String, Group>(); |
| | | // for (Group grp : [SELECT Id, Name FROM Group WHERE Type = 'Regular' AND Name IN: insertAccShareNameList]) { |
| | | // insertGroup.put(grp.Name, grp); |
| | | // } |
| | | // System.assertEquals(2, insertGroup.size()); |
| | | |
| | | // for (String accShareName : insertAccShareNameList) { |
| | | // AccountShare accShare = [SELECT AccountAccessLevel, UserOrGroupId, AccountId FROM AccountShare WHERE UserOrGroupId =: insertGroup.get(accShareName).Id AND AccountId =: insertAccount.get(accShareName).Id]; |
| | | // System.assertEquals('Edit', accShare.AccountAccessLevel); |
| | | // } |
| | | // } |
| | | |
| | | /** |
| | | * 做数据 |