@istest
public class LexSearchContractControllerTest {
  @IsTest
  static void lexSearchContractController1() {
    User myUser_test = new User();
    Account myAccount2;
    Account contact;
    Contact core;
    User currentUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
    NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
    insert n;
    System.runAs(currentUser) {
      List<RecordType> rectCo = [
        SELECT Id
        FROM RecordType
        WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
      ];
      List<RecordType> rectCotac = [
        SELECT Id
        FROM RecordType
        WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '契約'
      ];
      Profile prof = [
        SELECT Id
        FROM Profile
        WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
      ];
      myAccount2 = new Account(
        name = 'Testaccount002',
        Dealer_discount__c = 20,
        RecordTypeId = rectCo[0].Id,
        Product_Limit_Date__c = 'Test01|5|55,Test02|2|4',
        ET_SP_Dealer__c = true
      );
      insert myAccount2;
      contact = new Account(
        name = 'Testaccount002',
        RecordTypeId = rectCotac[0].Id,
        SpecialDealerName__c = 'Testaccount002',
        ParentId = myAccount2.Id,
        Agent_Ref__c = myAccount2.Id,
        Delete_Flag__c = false,
        Contract_Department_Class__c = 'ET',
        Contract_Decide_Start_Date__c = Date.today().addDays(-1),
        Contract_Decide_End_Date__c = Date.today().addDays(1),
        AgentCode_Ext__c = '9999900',
        ET_SP_Dealer__c = true
      );
      insert contact;

      core = new Contact(
        email = 'jplumber@salesforce.com',
        firstname = 'Joe',
        lastname = 'Plumber',
        accountid = myAccount2.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'
      );
      insert myUser_test;
    }

    System.runAs(myUser_test) {
      LexSearchContractController.init('ET');
      String accountId = myAccount2.Id;
      LexSearchContractController.searchContract(
        'Testaccount002',
        accountId,
        'ET',
        false
      );
    }
  }
}
