@isTest
private class LexConsumableAccountControllerTest {
    public static Account account1 = new Account();
    public static Account account2 = new Account();
    public static Account account3 = new Account();
	  public static Account consumable = new Account();
	  public static Contact contact1 = new Contact();
    public static User user = new User();
    public static Agency_Hospital_Link__c agency_hospital_link = new Agency_Hospital_Link__c();

    static testMethod void testMethod1(){
    User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
    System.runAs(thisUser){
          List<Account> accList = new List<Account>();
          // 取引先
          account1.Name = 'test1医院';
          account1.RecordTypeId = '01210000000QemG';
        //   account1.Is_Active__c = '草案中';
          accList.add(account1);

          account2.Name = 'test2医院';
          account2.RecordTypeId = '01210000000QemG';
        //   account2.Is_Active__c = '有効';
          accList.add(account2);
          
          account3.Name = 'test3医院';
          account3.RecordTypeId = '01210000000QemG';
        //   account3.Is_Active__c = '申请中';
          accList.add(account3);
          insert accList;
  
          consumable.Name = 'test1经销商';
          consumable.RecordTypeId = '01210000000Qem1';
          insert consumable;
  
          contact1.AccountId = account1.Id;
          contact1.FirstName = '責任者';
          contact1.LastName = 'test1医院';
          insert contact1;
          
          // ユーザー
          Profile p = [select Id from Profile where Name = '901_经销商社区普通权限'];
          user.ProfileId = p.Id;
          user.ContactId = contact1.Id;
          user.FirstName = 'ユーザー';
          user.LastName = 'テスト';
          user.Email = 'test_user@example.com';
          user.emailencodingkey='UTF-8';
          user.languagelocalekey='zh_CN';
          user.localesidkey='ja_JP';
          user.timezonesidkey='Asia/Shanghai';
          user.Username = 'test_user@example.com';
          user.Alias = 'テユ';
          user.CommunityNickname = 'テストユーザー';
          insert user;
  
          // 代理店医院
          agency_hospital_link.Name = 'test1代理店医院';
          agency_hospital_link.Hospital__c = account1.Id;
          agency_hospital_link.Agency__c = consumable.Id;
          agency_hospital_link.OwnerId = user.Id;
          insert agency_hospital_link;


       
    }
    System.runAs(user){
         //订单
          Consumable_order__c Order1 = new Consumable_order__c();
          Order1.Name = 'OCM_01_001';
          Order1.Order_status__c = '批准';
          Order1.Order_type__c = '到货';
          Order1.Dealer_Info__c = account1.Id;
          Order1.RecordTypeid = '01210000000c9dqAAA';
          Order1.Order_ProType__c = 'ET';
          Order1.Order_ForHospital__c = account1.Id;
          insert Order1;

               

          Consumable_Orderdetails__c con = new Consumable_Orderdetails__c();
          con.Consumable_order__c = Order1.Id;
          insert con;

      
        LexConsumableAccountController.init(2,1,'thisYear');
        LexConsumableAccountController.init(2,1,'lastYear');
        LexConsumableAccountController.init(2,1,'2023');
        LexConsumableAccountController.changeFiscalYearView('thisYear');
        LexConsumableAccountController.changeFiscalYearView('lastYear');
        // LexConsumableAccountController.changelistView('62. 医院_Hospital申请中的医院',consumable.Id,'ET',1,0,'Is_Active__c','ASC');
        // LexConsumableAccountController.changelistView('63. 医院_Hospital上周创建的医院',consumable.Id,'ET',1,0,'Is_Active__c','ASC');
        

    }



}
static testMethod void testMethod2(){
  User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
  System.runAs(thisUser){
        // 取引先
        account1.Name = 'test1医院';
        account1.RecordTypeId = '01210000000QemG';
      //   account1.Is_Active__c = '草案中';
        insert account1;

        account2.Name = 'test2医院';
        account2.RecordTypeId = '01210000000QemG';
      //   account2.Is_Active__c = '有効';
        insert account2;
        
        account3.Name = 'test3医院';
        account3.RecordTypeId = '01210000000QemG';
      //   account3.Is_Active__c = '申请中';
        insert account3;

        consumable.Name = 'test1经销商';
        consumable.RecordTypeId = '01210000000Qem1';
        insert consumable;

        contact1.AccountId = account1.Id;
        contact1.FirstName = '責任者';
        contact1.LastName = 'test1医院';
        insert contact1;
        
        // ユーザー
        Profile p = [select Id from Profile where Name = '901_经销商社区普通权限'];
        user.ProfileId = p.Id;
        user.ContactId = contact1.Id;
        user.FirstName = 'ユーザー';
        user.LastName = 'テスト';
        user.Email = 'test_user@example.com';
        user.emailencodingkey='UTF-8';
        user.languagelocalekey='zh_CN';
        user.localesidkey='ja_JP';
        user.timezonesidkey='Asia/Shanghai';
        user.Username = 'test_user@example.com';
        user.Alias = 'テユ';
        user.CommunityNickname = 'テストユーザー';
        insert user;

        // 代理店医院
        agency_hospital_link.Name = 'test1代理店医院';
        agency_hospital_link.Hospital__c = account1.Id;
        agency_hospital_link.Agency__c = consumable.Id;
        agency_hospital_link.OwnerId = user.Id;
        insert agency_hospital_link;
  }
  System.runAs(user){
      PageReference page = new PageReference('/apex/ConsumableAccount');
      System.Test.setCurrentPage(page);
      ConsumableAccountController ca = new ConsumableAccountController();
      //ConsumableAccountController.getlistViewOptions();
      ca.init();

      ca.filterName = '61. 医院_Hospital草案中的医院';
      ca.changelistView();

      ca.filterName = '62. 医院_Hospital申请中的医院';
      ca.changelistView();

      ca.filterName = '63. 医院_Hospital上周创建的医院';
      ca.changelistView();

      ca.refreshPageSize();

      ca.sortKey = '0';
      ca.accsort();

      ca.sortKey = '1';
      LexConsumableAccountController.changelistView('62. 医院_Hospital申请中的医院',consumable.Id,'ET',1,0,'Is_Active__c','ASC');
      LexConsumableAccountController.changelistView('63. 医院_Hospital上周创建的医院',consumable.Id,'ET',1,0,'Is_Active__c','ASC');
      

  }
}

	
	
	
}