@isTest private class Product2TriggerHandlerTest { @isTest static void test_Product2TriggerHandler() { Product2 prd = new Product2(); prd.Product_ECCode__c = 'testSBG004'; prd.ProductCode = 'testSBG004'; prd.Name = 'testSBG004'; prd.IsActive = true; insert prd; //Pricebook2 prdbook = new Pricebook2(); List pp = [Select Id,Name From Product2]; System.assertEquals(pp.size(),1); prd.Name = 'tttt'; update prd; List p2 = [Select Id,Name From Product2]; System.assertEquals(p2[0].Name,'tttt'); List ss = [Select Id,Name From Product_Search__c]; System.assertEquals(ss.size(),1); } @isTest static void test_checkProduct2Level() { Product2 prd = new Product2(); prd.Product_ECCode__c = 'testSBG004'; prd.ProductCode = 'testSBG004'; prd.Name = 'testSBG004'; prd.IsActive = true; prd.Level_Category__c = ''; prd.demoteer_Sap__c = Date.today().addDays(-3); prd.Diedatvanink__c = Date.today().addDays(-4); insert prd; Product_Register__c PRC = new Product_Register__c(); PRC.Name = '国械注进20183222249'; PRC.MedPrdClass__c = '1'; PRC.RegisterNoClass_New__c = ''; PRC.RegisterNoClass_Old__c = '6822'; PRC.PrdCompanyAddr__c = '名称:奥林巴斯医疗株式会社;住所:日本国东京都涩谷区幡之谷二丁目43番地2号;联系方式:0081-426-42-2667'; PRC.ClinicalProductCode__c = 'YYYY'; PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); PRC.Stelsedag__c = Date.today(); insert PRC; Product_Register__c PRC1 = new Product_Register__c(); PRC1.Name = '国械注进20183222249'; PRC1.MedPrdClass__c = '2'; PRC1.RegisterNoClass_New__c = ''; PRC1.RegisterNoClass_Old__c = '6822'; PRC1.PrdCompanyAddr__c = '名称:奥林巴斯医疗株式会社;住所:日本国东京都涩谷区幡之谷二丁目43番地2号;联系方式:0081-426-42-2667'; PRC1.ClinicalProductCode__c = 'YYYY'; PRC1.ValidTo__c = Date.today().addDays(22); PRC1.ValidFrom__c = Date.today().addDays(-22); PRC1.Stelsedag__c = Date.today().addDays(1); insert PRC1; Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; Product_Register_Link__c prl1 = new Product_Register_Link__c(); prl1.Product2__c = prd.ID; prl1.Product_Register__c = PRC1.ID; insert prl1; } @isTest static void test_checkProduct2Level1() { Product2 prd = new Product2(); prd.Product_ECCode__c = 'testSBG004'; prd.ProductCode = 'testSBG004'; prd.Name = 'testSBG004'; prd.IsActive = true; prd.Level_Category__c = ''; prd.demoteer_Sap__c = Date.today().addDays(-3); prd.Diedatvanink__c = Date.today().addDays(-4); insert prd; Product_Register__c PRC = new Product_Register__c(); PRC.Name = '国械注进20183222249'; PRC.MedPrdClass__c = '2'; PRC.RegisterNoClass_New__c = ''; PRC.RegisterNoClass_Old__c = '6822'; PRC.PrdCompanyAddr__c = '名称:奥林巴斯医疗株式会社;住所:日本国东京都涩谷区幡之谷二丁目43番地2号;联系方式:0081-426-42-2667'; PRC.ClinicalProductCode__c = 'YYYY'; PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); PRC.Stelsedag__c = Date.today().addDays(1); insert PRC; Product_Register__c PRC1 = new Product_Register__c(); PRC1.Name = '国械注进20183222249'; PRC1.MedPrdClass__c = '1'; PRC1.RegisterNoClass_New__c = ''; PRC1.RegisterNoClass_Old__c = '6822'; PRC1.PrdCompanyAddr__c = '名称:奥林巴斯医疗株式会社;住所:日本国东京都涩谷区幡之谷二丁目43番地2号;联系方式:0081-426-42-2667'; PRC1.ClinicalProductCode__c = 'YYYY'; PRC1.ValidTo__c = Date.today().addDays(22); PRC1.ValidFrom__c = Date.today().addDays(-22); PRC1.Stelsedag__c = Date.today(); insert PRC1; Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; Product_Register_Link__c prl1 = new Product_Register_Link__c(); prl1.Product2__c = prd.ID; prl1.Product_Register__c = PRC1.ID; insert prl1; } @isTest static void test_checkProduct2Level2() { Product2 prd = new Product2(); prd.Product_ECCode__c = 'testSBG004'; prd.ProductCode = 'testSBG004'; prd.Name = 'testSBG004'; prd.IsActive = true; prd.Level_Category__c = ''; prd.demoteer_Sap__c = Date.today().addDays(-3); prd.Diedatvanink__c = Date.today().addDays(-4); insert prd; Product_Register__c PRC = new Product_Register__c(); PRC.Name = '国械注进20183222249'; PRC.MedPrdClass__c = ''; PRC.RegisterNoClass_New__c = ''; PRC.RegisterNoClass_Old__c = '6822'; PRC.PrdCompanyAddr__c = '名称:奥林巴斯医疗株式会社;住所:日本国东京都涩谷区幡之谷二丁目43番地2号;联系方式:0081-426-42-2667'; PRC.ClinicalProductCode__c = 'YYYY'; PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); PRC.Stelsedag__c = Date.today(); insert PRC; Product_Register__c PRC1 = new Product_Register__c(); PRC1.Name = '国械注进20183222249'; PRC1.MedPrdClass__c = ''; PRC1.RegisterNoClass_New__c = ''; PRC1.RegisterNoClass_Old__c = '6822'; PRC1.PrdCompanyAddr__c = '名称:奥林巴斯医疗株式会社;住所:日本国东京都涩谷区幡之谷二丁目43番地2号;联系方式:0081-426-42-2667'; PRC1.ClinicalProductCode__c = 'YYYY'; PRC1.ValidTo__c = Date.today().addDays(22); PRC1.ValidFrom__c = Date.today().addDays(-22); insert PRC1; Product_Register__c PRC2 = new Product_Register__c(); PRC2.Name = '国械注进20183222249'; PRC2.MedPrdClass__c = ''; PRC2.RegisterNoClass_New__c = ''; PRC2.RegisterNoClass_Old__c = '6822'; PRC2.PrdCompanyAddr__c = '名称:奥林巴斯医疗株式会社;住所:日本国东京都涩谷区幡之谷二丁目43番地2号;联系方式:0081-426-42-2667'; PRC2.ClinicalProductCode__c = 'YYYY'; PRC2.ValidTo__c = Date.today().addDays(22); PRC2.ValidFrom__c = Date.today().addDays(-22); PRC2.Stelsedag__c = Date.today(); insert PRC2; Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; Product_Register_Link__c prl1 = new Product_Register_Link__c(); prl1.Product2__c = prd.ID; prl1.Product_Register__c = PRC1.ID; insert prl1; Product_Register_Link__c prl2 = new Product_Register_Link__c(); prl2.Product2__c = prd.ID; prl2.Product_Register__c = PRC2.ID; insert prl2; } @isTest static void test_checkProduct2Level3() { Product2 prd = new Product2(); prd.Product_ECCode__c = 'testSBG004'; prd.ProductCode = 'testSBG004'; prd.Name = 'testSBG004'; prd.IsActive = true; prd.Level_Category__c = ''; prd.demoteer_Sap__c = Date.today().addDays(-3); prd.Diedatvanink__c = Date.today().addDays(5); insert prd; Product_Register__c PRC = new Product_Register__c(); PRC.Name = '国械注进20183222249'; PRC.MedPrdClass__c = '1'; PRC.RegisterNoClass_New__c = ''; PRC.RegisterNoClass_Old__c = '6822'; PRC.PrdCompanyAddr__c = '名称:奥林巴斯医疗株式会社;住所:日本国东京都涩谷区幡之谷二丁目43番地2号;联系方式:0081-426-42-2667'; PRC.ClinicalProductCode__c = 'YYYY'; PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); PRC.Stelsedag__c = Date.today().addDays(1); insert PRC; Product_Register__c PRC1 = new Product_Register__c(); PRC1.Name = '国械注进20183222249'; PRC1.MedPrdClass__c = '2'; PRC1.RegisterNoClass_New__c = ''; PRC1.RegisterNoClass_Old__c = '6822'; PRC1.PrdCompanyAddr__c = '名称:奥林巴斯医疗株式会社;住所:日本国东京都涩谷区幡之谷二丁目43番地2号;联系方式:0081-426-42-2667'; PRC1.ClinicalProductCode__c = 'YYYY'; PRC1.ValidTo__c = Date.today().addDays(22); PRC1.ValidFrom__c = Date.today().addDays(-22); PRC1.Stelsedag__c = Date.today(); insert PRC1; Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; Product_Register_Link__c prl1 = new Product_Register_Link__c(); prl1.Product2__c = prd.ID; prl1.Product_Register__c = PRC1.ID; insert prl1; } @isTest static void test_checkProduct2Level4() { Product2 prd = new Product2(); prd.Product_ECCode__c = 'testSBG004'; prd.ProductCode = 'testSBG004'; prd.Name = 'testSBG004'; prd.IsActive = true; prd.Level_Category__c = ''; prd.demoteer_Sap__c = Date.today().addDays(-3); prd.Diedatvanink__c = Date.today().addDays(5); insert prd; Product_Register__c PRC = new Product_Register__c(); PRC.Name = '国械注进20183222249'; PRC.MedPrdClass__c = '2'; PRC.RegisterNoClass_New__c = ''; PRC.RegisterNoClass_Old__c = '6822'; PRC.PrdCompanyAddr__c = '名称:奥林巴斯医疗株式会社;住所:日本国东京都涩谷区幡之谷二丁目43番地2号;联系方式:0081-426-42-2667'; PRC.ClinicalProductCode__c = 'YYYY'; PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); PRC.Stelsedag__c = Date.today().addDays(1); insert PRC; Product_Register__c PRC1 = new Product_Register__c(); PRC1.Name = '国械注进20183222249'; PRC1.MedPrdClass__c = '1'; PRC1.RegisterNoClass_New__c = ''; PRC1.RegisterNoClass_Old__c = '6822'; PRC1.PrdCompanyAddr__c = '名称:奥林巴斯医疗株式会社;住所:日本国东京都涩谷区幡之谷二丁目43番地2号;联系方式:0081-426-42-2667'; PRC1.ClinicalProductCode__c = 'YYYY'; PRC1.ValidTo__c = Date.today().addDays(22); PRC1.ValidFrom__c = Date.today().addDays(-22); PRC1.Stelsedag__c = Date.today(); insert PRC1; Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; Product_Register_Link__c prl1 = new Product_Register_Link__c(); prl1.Product2__c = prd.ID; prl1.Product_Register__c = PRC1.ID; insert prl1; } @isTest static void test_checkProduct2Level5() { Product2 prd = new Product2(); prd.Product_ECCode__c = 'testSBG004'; prd.ProductCode = 'testSBG004'; prd.Name = 'testSBG004'; prd.IsActive = true; prd.Level_Category__c = ''; prd.demoteer_Sap__c = Date.today().addDays(-3); prd.Diedatvanink__c = Date.today().addDays(5); insert prd; Product_Register__c PRC = new Product_Register__c(); PRC.Name = '国械注进20183222249'; PRC.MedPrdClass__c = ''; PRC.RegisterNoClass_New__c = ''; PRC.RegisterNoClass_Old__c = '6822'; PRC.PrdCompanyAddr__c = '名称:奥林巴斯医疗株式会社;住所:日本国东京都涩谷区幡之谷二丁目43番地2号;联系方式:0081-426-42-2667'; PRC.ClinicalProductCode__c = 'YYYY'; PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); PRC.Stelsedag__c = Date.today().addDays(1); insert PRC; Product_Register__c PRC1 = new Product_Register__c(); PRC1.Name = '国械注进20183222249'; PRC1.MedPrdClass__c = ''; PRC1.RegisterNoClass_New__c = ''; PRC1.RegisterNoClass_Old__c = '6822'; PRC1.PrdCompanyAddr__c = '名称:奥林巴斯医疗株式会社;住所:日本国东京都涩谷区幡之谷二丁目43番地2号;联系方式:0081-426-42-2667'; PRC1.ClinicalProductCode__c = 'YYYY'; PRC1.ValidTo__c = Date.today().addDays(22); PRC1.ValidFrom__c = Date.today().addDays(-22); insert PRC1; Product_Register__c PRC2 = new Product_Register__c(); PRC2.Name = '国械注进20183222249'; PRC2.MedPrdClass__c = ''; PRC2.RegisterNoClass_New__c = ''; PRC2.RegisterNoClass_Old__c = '6822'; PRC2.PrdCompanyAddr__c = '名称:奥林巴斯医疗株式会社;住所:日本国东京都涩谷区幡之谷二丁目43番地2号;联系方式:0081-426-42-2667'; PRC2.ClinicalProductCode__c = 'YYYY'; PRC2.ValidTo__c = Date.today().addDays(22); PRC2.ValidFrom__c = Date.today().addDays(-22); PRC2.Stelsedag__c = Date.today(); insert PRC2; Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; Product_Register_Link__c prl1 = new Product_Register_Link__c(); prl1.Product2__c = prd.ID; prl1.Product_Register__c = PRC1.ID; insert prl1; Product_Register_Link__c prl2 = new Product_Register_Link__c(); prl2.Product2__c = prd.ID; prl2.Product_Register__c = PRC2.ID; insert prl2; } @isTest static void test_checkProduct2Level6() { Product2 prd = new Product2(); prd.Product_ECCode__c = 'testSBG004'; prd.ProductCode = 'testSBG004'; prd.Name = 'testSBG004'; prd.IsActive = true; prd.Level_Category__c = ''; prd.demoteer_Sap__c = Date.today().addDays(-3); prd.Diedatvanink__c = Date.today().addDays(5); insert prd; Product_Register__c PRC = new Product_Register__c(); PRC.Name = '国械注进20183222249'; PRC.MedPrdClass__c = '1'; PRC.RegisterNoClass_New__c = ''; PRC.RegisterNoClass_Old__c = '6822'; PRC.PrdCompanyAddr__c = '名称:奥林巴斯医疗株式会社;住所:日本国东京都涩谷区幡之谷二丁目43番地2号;联系方式:0081-426-42-2667'; PRC.ClinicalProductCode__c = 'YYYY'; PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); PRC.Stelsedag__c = Date.today().addDays(1); insert PRC; Product_Register__c PRC1 = new Product_Register__c(); PRC1.Name = '国械注进20183222249'; PRC1.MedPrdClass__c = '1'; PRC1.RegisterNoClass_New__c = ''; PRC1.RegisterNoClass_Old__c = '6822'; PRC1.PrdCompanyAddr__c = '名称:奥林巴斯医疗株式会社;住所:日本国东京都涩谷区幡之谷二丁目43番地2号;联系方式:0081-426-42-2667'; PRC1.ClinicalProductCode__c = 'YYYY'; PRC1.ValidTo__c = Date.today().addDays(22); PRC1.ValidFrom__c = Date.today().addDays(-22); PRC1.Stelsedag__c = Date.today(); insert PRC1; Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; Product_Register_Link__c prl1 = new Product_Register_Link__c(); prl1.Product2__c = prd.ID; prl1.Product_Register__c = PRC1.ID; insert prl1; } @isTest static void test_checkProduct2Level7() { Product2 prd = new Product2(); prd.Product_ECCode__c = 'testSBG004'; prd.ProductCode = 'testSBG004'; prd.Name = 'testSBG004'; prd.IsActive = true; prd.Level_Category__c = ''; prd.demoteer_Sap__c = Date.today().addDays(-3); prd.Diedatvanink__c = Date.today().addDays(5); insert prd; Product_Register__c PRC = new Product_Register__c(); PRC.Name = '国械注进20183222249'; PRC.MedPrdClass__c = '2'; PRC.RegisterNoClass_New__c = ''; PRC.RegisterNoClass_Old__c = '6822'; PRC.PrdCompanyAddr__c = '名称:奥林巴斯医疗株式会社;住所:日本国东京都涩谷区幡之谷二丁目43番地2号;联系方式:0081-426-42-2667'; PRC.ClinicalProductCode__c = 'YYYY'; PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); PRC.Stelsedag__c = Date.today().addDays(1); insert PRC; Product_Register__c PRC1 = new Product_Register__c(); PRC1.Name = '国械注进20183222249'; PRC1.MedPrdClass__c = '2'; PRC1.RegisterNoClass_New__c = ''; PRC1.RegisterNoClass_Old__c = '6822'; PRC1.PrdCompanyAddr__c = '名称:奥林巴斯医疗株式会社;住所:日本国东京都涩谷区幡之谷二丁目43番地2号;联系方式:0081-426-42-2667'; PRC1.ClinicalProductCode__c = 'YYYY'; PRC1.ValidTo__c = Date.today().addDays(22); PRC1.ValidFrom__c = Date.today().addDays(-22); PRC1.Stelsedag__c = Date.today(); insert PRC1; Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; Product_Register_Link__c prl1 = new Product_Register_Link__c(); prl1.Product2__c = prd.ID; prl1.Product_Register__c = PRC1.ID; insert prl1; } }