GWY
2022-03-17 ae3dbaacd49b295337c5c53dbf5cf732898ed6f8
force-app/main/default/classes/Product2TriggerHandlerTest.cls
@@ -28,7 +28,8 @@
        prd.Name                   = 'testSBG004';
        prd.IsActive               = true;
        prd.Level_Category__c      = '';
        prd.demoteer_Sap__c        = Date.today();
        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();
@@ -36,16 +37,34 @@
        PRC.MedPrdClass__c         = '1';
        PRC.RegisterNoClass_New__c = '';
        PRC.RegisterNoClass_Old__c = '6822';
        PRC.PrdCompanyAddr__c = '名称:奥林巴斯医疗株式会社;住所:日本国东京都涩谷区幡之谷二丁目43番地2号;联系方式:0081-426-42-2667';
        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.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() {
@@ -55,7 +74,8 @@
        prd.Name                   = 'testSBG004';
        prd.IsActive               = true;
        prd.Level_Category__c      = '';
        prd.demoteer_Sap__c        = Date.today();
        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();
@@ -67,12 +87,30 @@
        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() {
@@ -82,7 +120,8 @@
        prd.Name                   = 'testSBG004';
        prd.IsActive               = true;
        prd.Level_Category__c      = '';
        prd.demoteer_Sap__c        = Date.today();
        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();
@@ -90,16 +129,307 @@
        PRC.MedPrdClass__c         = '';
        PRC.RegisterNoClass_New__c = '';
        PRC.RegisterNoClass_Old__c = '6822';
        PRC.PrdCompanyAddr__c      = '名称:奥林巴斯医疗株式会社;住所:日本国东京都涩谷区幡之谷二丁目43番地2号;联系方式:0081-426-42-2667';
        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;
    }
}