@isTest
|
private class ConInvoicedetailsControllerTest
|
{
|
@isTest
|
static void itShould()
|
{
|
Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证'];
|
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;
|
}
|
//产品信息
|
Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1);
|
Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1);
|
Product2 prod03 = new Product2(Name='Test03',ProductCode='Test03',Asset_Model_No__c = 'Test03',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1);
|
Product2 prod04 = new Product2(Name='Test04',ProductCode='Test04',Asset_Model_No__c = 'Test04',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=2);
|
Product2 prod05 = new Product2(Name='Test05',ProductCode='Test05',Asset_Model_No__c = 'Test05',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1);
|
Product2 prod06 = new Product2(Name='Test06',ProductCode='Test06',Asset_Model_No__c = 'Test06',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1);
|
insert new Product2[] {prod01, prod02,prod03,prod04, prod05, prod06};
|
|
Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id);
|
Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id);
|
Product2__c pro5 = new Product2__c(Name='Pro003',OT_CODE_Text__c='Test003',Product2__c = prod03.Id);
|
Product2__c pro3 = new Product2__c(Name='Pro004',OT_CODE_Text__c='Test004',Product2__c = prod04.Id);
|
Product2__c pro4 = new Product2__c(Name='Pro005',OT_CODE_Text__c='Test005',Product2__c = prod05.Id);
|
Product2__c pro6 = new Product2__c(Name='Pro006',OT_CODE_Text__c='Test006',Product2__c = prod06.Id);
|
insert new Product2__c[] {pro4, pro5,pro6,pro1, pro2, pro3};
|
|
Account myAccount1 = new Account(name='testaccount001',Dealer_discount__c =10,RecordTypeId = rectCo[0].Id );
|
Account myAccount2 = new Account(name='testaccount002',Dealer_discount__c =20,RecordTypeId = rectHos[0].Id );
|
insert myAccount1;
|
Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id);
|
insert core;
|
user 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){
|
//发票信息
|
Consumable_order__c invoiceorder = new Consumable_order__c(Name='invoice01',Order_type__c = '发票',Invoice_status__c='已完成',Invoice_Date__c = Date.today(),RecordTypeid = System.Label.RT_ConOrder_Invoice, Order_ForHospital__c =myAccount2.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='草案中',Dealer_info__c=myAccount1.Id);
|
insert invoiceorder;
|
|
//出库单
|
Consumable_order__c testList1 = new Consumable_order__c(Name='Test1',Summons_Sale_Status__c='出货',SummonsStatus_c__c='已完成',Order_ForHospital__c =myAccount2.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='草案中',Order_type__c='传票',Dealer_info__c=myAccount1.Id,ConInvoice_Code__c = invoiceorder.id);
|
Consumable_order__c testList2 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',SummonsStatus_c__c='已完成',Order_ForHospital__c =myAccount2.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='已提交',Order_type__c='传票',Dealer_info__c=myAccount1.Id,ConInvoice_Code__c = invoiceorder.id);
|
TestList1.Order_date__c = Date.today().addDays(2);
|
TestList2.Order_date__c = Date.today().addDays(2);
|
TestList1.Order_date__c = Date.today();
|
TestList2.Deliver_date__c=Date.today();
|
insert new Consumable_order__c[]{testList1,testList2};
|
|
Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList1.Id,Invoice_Code_link__c =invoiceorder.Id);
|
insert order_LinkTable1;
|
Consumable_order_LinkTable__c order_LinkTable2 = new Consumable_order_LinkTable__c(Name='order_LinkTable2',Outboundorder_Code_link__c = testList2.Id,Invoice_Code_link__c =invoiceorder.Id);
|
insert order_LinkTable2;
|
|
//发票明细1
|
Consumable_orderdetails__c invoicedet1 = new Consumable_orderdetails__c();
|
invoicedet1.Name = 'invoicetest1_001001';
|
//orderdet1.Consumable_principal__c = testList1.Id;
|
invoicedet1.Consumable_order__c = invoiceorder.id;
|
invoicedet1.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
|
invoicedet1.Consumable_count__c = 1;
|
invoicedet1.Consumable_product__c = pro1.Id;
|
invoicedet1.Invoicedet1_OD_link__c = testList1.Id;
|
invoicedet1.Box_Piece__c = '盒';
|
invoicedet1.Shipment_Count__c = 1;
|
invoicedet1.Invoice_Unitprice__c = 1;
|
invoicedet1.Delivery_List_RMB__c = 1;
|
invoicedet1.InvoicedProCost_RMB__c =1;
|
invoicedet1.Invoice_Unit__c = '个';
|
invoicedet1.Invoiced_Procount__c = 3;
|
invoicedet1.RrturnPro_count__c =3;
|
Consumable_orderdetails__c invoicedet2 = new Consumable_orderdetails__c();
|
invoicedet2.Name = 'invoiceTest1_001002';
|
//orderdet2.Consumable_principal__c = testList2.Id;
|
invoicedet2.Consumable_order__c = invoiceorder.Id;
|
invoicedet2.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
|
invoicedet2.Consumable_count__c = 1;
|
invoicedet2.Consumable_product__c = pro2.Id;
|
invoicedet2.Invoicedet1_OD_link__c = testList2.Id;
|
invoicedet2.Box_Piece__c = '盒';
|
invoicedet2.Shipment_Count__c = 1;
|
invoicedet2.Invoice_Unitprice__c = 1;
|
invoicedet2.Delivery_List_RMB__c = 1;
|
invoicedet2.InvoicedProCost_RMB__c =1;
|
invoicedet2.Invoice_Unit__c = '个';
|
invoicedet2.Invoiced_Procount__c = 3;
|
invoicedet2.RrturnPro_count__c =3;
|
Consumable_orderdetails__c invoicedet3 = new Consumable_orderdetails__c();
|
invoicedet3.Name = 'invoiceTest1_001003';
|
//orderdet2.Consumable_principal__c = testList2.Id;
|
invoicedet3.Consumable_order__c = invoiceorder.Id;
|
invoicedet3.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
|
invoicedet3.Consumable_count__c = 1;
|
invoicedet3.Consumable_product__c = pro2.Id;
|
invoicedet3.Invoicedet1_OD_link__c = testList2.Id;
|
invoicedet3.Box_Piece__c = '个';
|
invoicedet3.Shipment_Count__c = 1;
|
invoicedet3.Invoice_Unit__c = '盒';
|
invoicedet3.Delivery_List_RMB__c = 2.0;
|
invoicedet3.Invoice_Unitprice__c = 1;
|
invoicedet3.InvoicedProCost_RMB__c = 1;
|
invoicedet3.Invoiced_Procount__c = 3;
|
invoicedet3.RrturnPro_count__c =3;
|
insert new Consumable_orderdetails__c[]{invoicedet1,invoicedet2,invoicedet3};
|
|
//出库单明细1
|
Consumable_orderdetails__c orderdet1 = new Consumable_orderdetails__c();
|
orderdet1.Name = 'Test1_001001';
|
//orderdet1.Consumable_principal__c = testList1.Id;
|
orderdet1.Consumable_order__c = testList1.Id;
|
orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
|
orderdet1.Consumable_count__c = 1;
|
orderdet1.Consumable_product__c = pro1.Id;
|
orderdet1.Box_Piece__c = '盒';
|
orderdet1.Shipment_Count__c = 11;
|
orderdet1.Delivery_List_RMB__c = 2.0;
|
orderdet1.Invoice_Unitprice__c = 1;
|
orderdet1.InvoicedProCost_RMB__c = 1;
|
orderdet1.Invoiced_Procount__c = 3;
|
orderdet1.RrturnPro_count__c =3;
|
orderdet1.Invoice_Unit__c = '个';
|
orderdet1 = new Consumable_orderdetails__c();
|
orderdet1.Name = 'Test1_0010011';
|
//orderdet1.Consumable_principal__c = testList1.Id;
|
orderdet1.Consumable_order__c = testList1.Id;
|
orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
|
orderdet1.Consumable_count__c = 1;
|
orderdet1.Consumable_product__c = pro2.Id;
|
orderdet1.Box_Piece__c = '个';
|
orderdet1.Shipment_Count__c = 11;
|
orderdet1.Delivery_List_RMB__c = 2.0;
|
orderdet1.Invoice_Unitprice__c = 1;
|
orderdet1.InvoicedProCost_RMB__c = 1;
|
orderdet1.Invoiced_Procount__c = 3;
|
orderdet1.RrturnPro_count__c =3;
|
orderdet1.Invoice_Unit__c = '盒';
|
Consumable_orderdetails__c orderdet2 = new Consumable_orderdetails__c();
|
orderdet2.Name = 'Test1_0010012';
|
//orderdet2.Consumable_principal__c = testList2.Id;
|
orderdet2.Consumable_order__c = testList1.Id;
|
orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
|
orderdet2.Consumable_count__c = 1;
|
orderdet2.Consumable_product__c = pro2.Id;
|
orderdet2.Box_Piece__c = '盒';
|
orderdet2.Shipment_Count__c = 10;
|
orderdet2.Delivery_List_RMB__c = 2.0;
|
orderdet2.Invoice_Unitprice__c = 1;
|
orderdet2.InvoicedProCost_RMB__c = 1;
|
orderdet2.Invoiced_Procount__c = 3;
|
orderdet2.RrturnPro_count__c =3;
|
orderdet2.Invoice_Unit__c = '个';
|
orderdet2.Invoiced_Count__c= 3;
|
orderdet2 = new Consumable_orderdetails__c();
|
orderdet2.Name = 'Test1_0010031';
|
//orderdet2.Consumable_principal__c = testList2.Id;
|
orderdet2.Consumable_order__c = testList1.Id;
|
orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
|
orderdet2.Consumable_count__c = 1;
|
orderdet2.Consumable_product__c = pro1.Id;
|
orderdet2.Box_Piece__c = '个';
|
orderdet2.Shipment_Count__c = 10;
|
orderdet2.Delivery_List_RMB__c = 2.0;
|
orderdet2.Invoice_Unitprice__c = 1;
|
orderdet2.InvoicedProCost_RMB__c = 1;
|
orderdet2.Invoiced_Procount__c = 3;
|
orderdet2.RrturnPro_count__c =3;
|
orderdet2.Invoice_Unit__c = '盒';
|
orderdet2.Invoiced_Count__c= 3;
|
|
Consumable_orderdetails__c orderdet3 = new Consumable_orderdetails__c();
|
orderdet3.Name = 'Test1_001002';
|
//orderdet2.Consumable_principal__c = testList2.Id;
|
orderdet3.Consumable_order__c = testList1.Id;
|
orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
|
orderdet3.Consumable_count__c = 1;
|
orderdet3.Box_Piece__c = '盒';
|
orderdet3.Consumable_product__c = pro2.Id;
|
orderdet3.Invoice_Unit__c = '个';
|
orderdet3.Shipment_Count__c = 11;
|
orderdet3.Delivery_List_RMB__c = 2.0;
|
orderdet3.Invoiced_Procount__c = 3;
|
orderdet3.RrturnPro_count__c =3;
|
orderdet3.Invoiced_Count__c= 3;
|
orderdet3 = new Consumable_orderdetails__c();
|
orderdet3.Name = 'Test1_001003';
|
//orderdet2.Consumable_principal__c = testList2.Id;
|
orderdet3.Consumable_order__c = testList1.Id;
|
orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
|
orderdet3.Consumable_count__c = 1;
|
orderdet3.Box_Piece__c = '盒';
|
orderdet3.Consumable_product__c = pro1.Id;
|
orderdet3.Invoice_Unit__c = '盒';
|
orderdet3.Shipment_Count__c = 11;
|
orderdet3.Delivery_List_RMB__c = 2.0;
|
orderdet3.Invoiced_Procount__c = 3;
|
orderdet3.RrturnPro_count__c =3;
|
orderdet3.Invoiced_Count__c= 3;
|
|
Consumable_orderdetails__c orderdet4 = new Consumable_orderdetails__c();
|
orderdet4.Name = 'Test1_001004';
|
//orderdet2.Consumable_principal__c = testList2.Id;
|
orderdet4.Consumable_order__c = testList1.Id;
|
orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
|
orderdet4.Consumable_count__c = 1;
|
orderdet4.Box_Piece__c = '盒';
|
orderdet4.Consumable_product__c = pro2.Id;
|
orderdet4.Invoice_Unit__c = '个';
|
orderdet4.Shipment_Count__c = 11;
|
orderdet4.Delivery_List_RMB__c = 2.0;
|
orderdet4.Invoiced_Procount__c = 3;
|
orderdet4.Invoiced_Count__c= 3;
|
orderdet4.RrturnPro_count__c =3;
|
insert new Consumable_orderdetails__c[]{orderdet1,orderdet2,orderdet3,orderdet4};
|
|
PageReference page = new PageReference('/apex/ConInvoicedetails?orderId=' + testList1.Id + '&invoiceId=' + invoiceorder.id);
|
page.setRedirect(true);
|
System.Test.setCurrentPage(page);
|
page = new Pagereference('/ConInvoiceView?invoiceId='+invoiceorder.id);
|
page.setRedirect(true);
|
ConInvoicedetailsController conTest = new ConInvoicedetailsController();
|
conTest.init();
|
System.assertEquals(4, conTest.consumableorderdetails1Records.size());
|
conTest.consumableorderdetails1Records[0].check= true;
|
conTest.consumableorderdetails1Records[0].invoiceCount= 1;
|
conTest.consumableorderdetails1Records[0].esd.Invoice_Unit__c = '个';
|
conTest.consumableorderdetails1Records[1].check= true;
|
conTest.consumableorderdetails1Records[1].invoiceCount= 2;
|
conTest.consumableorderdetails1Records[1].esd.Invoice_Unit__c = '个';
|
conTest.save();
|
conTest.returnToinvoice();
|
Consumable_orderdetails__c testInvoice = [select id,Name,Invoiced_Count__c,Invoice_Unit__c,Invoice_Unitprice__c from Consumable_orderdetails__c where id=:invoicedet1.Id];
|
System.assertEquals(4, conTest.invoiceOrderRecoedsCount);
|
// System.assertEquals('个', testInvoice.Invoice_Unit__c);
|
}
|
}
|
}
|