美驰报价单和客户信息导出的测试数据 测试类

本文介绍了一个用于 Salesforce 平台的 Apex 测试数据生成类 TestData,该类提供了多种方法来创建账户、订单、联系人等数据记录,并通过一个测试类展示了如何使用这些方法进行数据初始化。
public class TestData {
    public static Account generateAccount() {
        Account acc = new Account(Name = 'test account');
        insert acc;
        return acc;
    }
    
    public Order generateOrder(ID accountId, Date effDate, String status) {
        Order od = new Order(AccountId = accountId, 
                             EffectiveDate = effDate,
                             Status = status);
        insert od;
        return od;
    }
      public static Contact generateContact(ID accountId) {
        Contact con = new Contact(AccountId = accountId, LastName = 'test contact', Birthdate = Date.today());
        insert con;
        return con;
    }
    
    public static List<Product2> generateProducts() {
        List<Product2> pros = new List<Product2>();
        Product2 pro1 = new Product2(Name = 'test product1', IsActive = true);
        Product2 pro2 = new Product2(Name = 'test product2', IsActive = true);
        pros.add(pro1);
        pros.add(pro2);
        insert pros;
        return pros;
    }
    
    public static PriceBook2 generatePricebook() {    
        return [SELECT Id from Pricebook2 where isStandard = true];
    }    
    
    public static List<PricebookEntry> generatePriceBookItems(List<Product2> pros, PriceBook2 book) {    
        List<PricebookEntry> items = new List<PricebookEntry>();
        
        PricebookEntry item1 = new PricebookEntry(Product2Id = pros[0].Id,
                                                        PriceBook2Id = book.Id,
                                                        IsActive = true,
                                                        UnitPrice = 1000);
        PricebookEntry item2 = new PricebookEntry(Product2Id = pros[1].Id,
                                                       PriceBook2Id = book.Id,
                                                       IsActive = true,
                                                       UnitPrice = 2000); 
        items.add(item1);
        items.add(item2);
        
        insert items;       
        return items;                                               
    }
    
    public static Opportunity generateOpportunity(ID accountId, ID pricebookId) {
        Opportunity opp = new Opportunity(AccountId = accountId, 
                                          pricebook2Id = pricebookId,
                                          Name = 'test opportunity',
                                          StageName = 'Qualification',
                                          CloseDate = Date.today().addMonths(1));
        insert opp;
        return opp;
    }
    
    public static Quote generateQuote(ID opportunityId, ID pricebookId) {
        Quote quote = new Quote(OpportunityId = opportunityId,
                                Name = 'test quote',
                                pricebook2Id = pricebookId,
                                QuoteDate__c = Date.today().addMonths(1));
        insert quote;
        return quote;
    }
    
    public static List<QuoteLineItem> generateQuoteLineItem(ID quoteId, List<Product2> pros, List<PricebookEntry> pbes) {
        List<QuoteLineItem> lis = new List<QuoteLineItem>();
        
        QuoteLineItem li1 = new QuoteLineItem(QuoteId = quoteId,
                                              Product2Id = pros[0].Id,
                                              PricebookEntryId = pbes[0].Id,
                                              Quantity = 10,
                                              UnitPrice = 100);
        QuoteLineItem li2 = new QuoteLineItem(QuoteId = quoteId,
                                              Product2Id = pros[1].Id,
                                              PricebookEntryId = pbes[1].Id,
                                              Quantity = 10,
                                              UnitPrice = 100);
                                              
        lis.add(li1);
        lis.add(li2);
        
        insert lis;
        return lis;
    }
    
    public static Contract generateContract(ID accountId) {
        Contract contract=new Contract(AccountId = accountId,
                                       Name = 'test contract');
    
        insert contract;
        return contract;
    }
    
    public static List<ContractItem__c> generateContractItem(ID contractId,List<Product2> pros){
        List<ContractItem__c> item=new List<ContractItem__c>();
            ContractItem__c ci1=new ContractItem__c( Contract__c = contractId,
                                                   UnitPrice__c=50,
                                                    Product__c = pros[0].Id);
            ContractItem__c ci2=new ContractItem__c( Contract__c = contractId,
                                                   UnitPrice__c=50,
                                                    Product__c = pros[1].Id);
        item.add(ci1);
        item.add(ci2);
        
            insert item;
            return item;
    } 
}

报价单测试类

@isTest
public class QuoteControllerTest{
    @isTest(seealldata=true) 
    private static void QuoteTriggerTest() {
        Account acc = TestData.generateAccount();
        Contact con = TestData.generateContact(acc.Id);
        List<Product2> pros = TestData.generateProducts();
        PriceBook2 pb = TestData.generatePricebook();
        List<PricebookEntry> pbes = TestData.generatePriceBookItems(pros, pb);
        Opportunity opp = TestData.generateOpportunity(acc.Id, pb.Id);
        Quote qt = TestData.generateQuote(opp.Id, pb.Id);
        TestData.generateQuoteLineItem(qt.Id, pros, pbes);
        
        PageReference ref = Page.QuotePage;
        Test.setCurrentPage(ref);
        ApexPages.currentPage().getParameters().put('id', qt.Id);
        QuoteController pdf = new QuoteController();
    }
}

客户信息导出信息类

@isTest
public class ExportAccountControllerTest{
   @isTest 
   private static void ExportAccountTest() {
       
       Account acc = TestData.generateAccount();
       Contract con = TestData.generateContract(acc.Id);
       List<Product2> pros = TestData.generateProducts();
        TestData.generateContractItem(con.Id, pros);
        
        PageReference ref = Page.ExportAccountPage;
        Test.setCurrentPage(ref);
        ApexPages.currentPage().getParameters().put('id', acc.Id);
        ExportAccountController pdf = new ExportAccountController();
   
   }

}

 

转载于:https://www.cnblogs.com/pipidan/p/6993454.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值