@isTest
private class LexConInvoiceListTest
{
    static testMethod void conInvoiceListTestinit(){
        user myUser_test;
        Account myAccount2;
        Account myAccount1;
        User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        system.runAs(thisUser){
            Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
            List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            List<RecordType> rectHos = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
            if (rectHos.size() == 0) {
                return;
            }
            myAccount1 = new Account(name='testaccount001',RecordTypeId = rectCo[0].Id );
            myAccount2 = new Account(name='testaccount002',RecordTypeId = rectHos[0].Id );
            insert myAccount1;
            Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id);
            insert core;
            myUser_test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='testUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',Work_Location__c = '北京');
            insert myUser_test;

        }
        system.runAs(myUser_test){
            Consumable_order__c TestList1 = new Consumable_order__c(Name='Test1',Invoice_Date__c=Date.today(),Dealer_info__c=myAccount1.Id,Invoice_status__c='草案中',Order_ForHospital__c =myAccount2.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='草案中',Order_type__c='发票',recordtypeid = System.Label.RT_ConOrder_Invoice,Order_ProType__c = 'ET');
            Consumable_order__c TestList2 = new Consumable_order__c(Name='Test2',Invoice_Date__c=Date.today(),Dealer_info__c=myAccount1.Id,Invoice_status__c='提交',Order_ForHospital__c =myAccount2.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='草案中',Order_type__c='发票',recordtypeid = System.Label.RT_ConOrder_Invoice,Order_ProType__c = 'ET');
            insert new Consumable_order__c[]{TestList1,TestList2};
            LexConInvoiceList.init();
            // ConInvoiceListController CDC = new ConInvoiceListController();
            // CDC.init();
            // System.assertEquals('Test1', CDC.raesList[0].name);
            // System.assertEquals('Test2', CDC.raesList[1].name);
            // CDC.SortLimited();
            // System.assertEquals('Test1', CDC.raesList[0].name);
            // System.assertEquals('Test2', CDC.raesList[1].name);
        }
    }
    //检索
    static testMethod void invoiceCodeSearchTest(){
        user myUser_test;
        Account myAccount2;
        Account myAccount1;
        User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        system.runAs(thisUser){
            Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
            List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            List<RecordType> rectHos = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
            if (rectHos.size() == 0) {
                return;
            }
            myAccount1 = new Account(name='testaccount001',RecordTypeId = rectCo[0].Id );
            myAccount2 = new Account(name='testaccount002',RecordTypeId = rectHos[0].Id );
            insert myAccount1;
            Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id);
            insert core;
            myUser_test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='testUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',Work_Location__c = '北京');
            insert myUser_test;

        }
       
        system.runAs(myUser_test){
            Consumable_order__c TestList1 = new Consumable_order__c(Name='Test1',Invoice_Date__c=Date.today(),Dealer_info__c=myAccount1.Id,Invoice_status__c='草案中',Order_ForHospital__c =myAccount2.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='草案中',Order_type__c='发票',recordtypeid = System.Label.RT_ConOrder_Invoice,Order_ProType__c = 'ET');
            Consumable_order__c TestList2 = new Consumable_order__c(Name='Test2',Invoice_Date__c=Date.today(),Dealer_info__c=myAccount1.Id,Invoice_status__c='提交',Order_ForHospital__c =myAccount2.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='草案中',Order_type__c='发票',recordtypeid = System.Label.RT_ConOrder_Invoice,Order_ProType__c = 'ET');
            insert new Consumable_order__c[]{TestList1,TestList2};
            LexConInvoiceList CDC = new LexConInvoiceList();
            LexConInvoiceList.init();
            LexConInvoiceList.invoiceCodeSearch(Date.today(),Date.today(),'提交','test','test1','0010l00001ajxZ2AAI','北京','ET');
            // CDC.init();
            // System.assertEquals('Test1', CDC.raesList[0].name);
            // System.assertEquals('Test2', CDC.raesList[1].name);
            // CDC.coc.Invoice_status__c = '提交';
            // CDC.invoiceCodeSearch();
            // System.assertEquals(1, CDC.raesList.size());
            // CDC.clearUp();
            // System.assertEquals(2, CDC.raesList.size());
        }
    }
}