@isTest
|
private class StraightBackAddressControllerTest {
|
|
private static Repair__c rpr { get; set; }
|
@TestSetup
|
static void makeData(){
|
List<String> strList = new List<String>();
|
strList.add('Address__c');
|
strList.add('Contact');
|
TestDataUtility.CreatePIPolicyConfigurations(strList);
|
}
|
@isTest
|
static void testMethod1() {
|
List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
|
if (rectCo.size() == 0) {
|
return;
|
}
|
List<RecordType> rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 消化科'];
|
if (rectSct.size() == 0) {
|
return;
|
}
|
List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科'];
|
if (rectDpt.size() == 0) {
|
return;
|
}
|
//省
|
Address_Level__c alc1 = new Address_Level__c(
|
Name = '北京市'
|
);
|
insert new Address_Level__c[] {alc1};
|
Address_Level2__c alc11 = new Address_Level2__c(
|
Name = '顺义区',Address_Level__c = alc1.Id,Level1_Name__c='北京市'
|
);
|
Address_Level2__c alc12 = new Address_Level2__c(
|
Name = '昌平区',Address_Level__c = alc1.Id,Level1_Name__c='北京市'
|
);
|
|
insert new Address_Level2__c[] {alc11,alc12};
|
//
|
Account company = new Account();
|
company.RecordTypeId = rectCo[0].Id;
|
company.Name = '北京医院';
|
company.State_Master__c = alc1.id;
|
company.City_Master__c = alc11.id;
|
upsert company;
|
Account section = [Select Management_Code__c, Management_Code_Auto__c, Name, Id from Account where ParentId = :company.Id and RecordTypeId = :rectSct[0].Id];
|
|
Account depart = new Account();
|
depart.RecordTypeId = rectDpt[0].Id;
|
depart.Name = '北京朝阳医院';
|
depart.State_Master__c = alc1.id;
|
depart.City_Master__c = alc11.id;
|
depart.Department_Name__c = 'NFM104TestDepart';
|
depart.ParentId = section.Id;
|
depart.Department_Class__c = section.Id;
|
depart.Hospital__c = company.Id;
|
upsert depart;
|
|
company = [select Management_Code__c, Management_Code_Auto__c, Name, Id from Account where Id = :company.Id];
|
depart = [select Management_Code__c, Management_Code_Auto__c, Name, Id from Account where Id = :depart.Id];
|
|
Product2 prd1 = new Product2();
|
prd1.ProductCode_Ext__c = 'NFM104Prd1';
|
prd1.ProductCode = 'NFM104Prd1';
|
prd1.Repair_Product_Code__c = 'NFM104Prd1_RP';
|
prd1.Name = 'NFM104Prd1';
|
prd1.Manual_Entry__c = false;
|
insert prd1;
|
|
Asset ast = new Asset();
|
ast.Name = 'NFM104Ast1';
|
ast.AccountId = depart.Id;
|
ast.Department_Class__c = section.Id;
|
ast.Hospital__c = company.Id;
|
ast.Product2Id = prd1.Id;
|
ast.SerialNumber = 'NFM104SerialNumber';
|
ast.Guarantee_period_for_products__c = Date.today();
|
ast.InstallDate = Date.today();
|
insert ast;
|
|
Profile p = [select Id from Profile where id =:System.Label.ProfileId_SystemAdmin];
|
|
User us = new User(Test_staff__c = true, LastName = 'hp', FirstName = 'owner', Alias = 'hp', Work_Location__c = '北京', CommunityNickname = 'hpOwner', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id);
|
us.Job_Category__c = '销售服务';
|
insert us;
|
|
rpr = new Repair__c();
|
rpr.SAPRepairNo__c = 'NFM104Rpr1';
|
rpr.Account__c = depart.Id;
|
rpr.Department_Class__c = section.Id;
|
rpr.Hospital__c = company.Id;
|
rpr.Delivered_Product__c = ast.Id;
|
rpr.SalesOfficeCode_selection__c = '北京';
|
rpr.Status__c = '1.受理完毕';
|
rpr.Incharge_Staff__c = us.Id;
|
rpr.Repair_Detail__c = 'test';
|
rpr.On_site_repair__c = '直送SORC修理';
|
rpr.Returns_Product_way__c = '返送医院';
|
rpr.Address_Type_Index__c=1;
|
insert rpr;
|
|
Contact contact2 = new Contact();
|
contact2.AccountId = depart.Id;
|
contact2.FirstName = '小明';
|
contact2.LastName = 'test1经销商';
|
insert contact2;
|
|
Address__c ascc = new Address__c();
|
ascc.Address_Classification__c = '医院';
|
ascc.Customer__c = depart.Id;
|
ascc.Contacts__c = contact2.id;
|
ascc.Telephone__c = '123123';
|
ascc.Province__c = alc1.id;
|
ascc.City__c = alc11.id;
|
ascc.Detailed_Address__c = '北京市顺义区西海洪村';
|
insert ascc;
|
|
|
//测试构造器里面的代码
|
PageReference peg = new PageReference('/apex/StraightBackAddress?id='+rpr.id);
|
System.Test.setCurrentPage(peg);
|
|
StraightBackAddressController sbac = new StraightBackAddressController();
|
sbac.txtName = '北京';
|
sbac.txtAddress = '市';
|
sbac.typeText = '医院';
|
sbac.UpdId = ascc.id;
|
sbac.adoptId = ascc.id;
|
sbac.init();//页面初始化方法
|
sbac.onEditor();//修改按钮方法
|
sbac.onCopy();//复制按钮方法
|
//sbac.optHospitalId = '0011000000V9Tcx';
|
//sbac.onChJudge();
|
sbac.insUpdData.Contacts__c = null;
|
sbac.insUpdData.Create_Contacts__c = '王五';
|
sbac.save();
|
sbac.adoptSave();
|
sbac.searchBtn();
|
|
StraightBackAddressController ss = new StraightBackAddressController();
|
ss.txtName = '经销商';
|
ss.txtAddress = '哈哈';
|
sbac.typeText = '办事处';
|
ss.UpdId = ascc.id;
|
ss.adoptId = ascc.id;
|
ss.init();//页面初始化方法
|
ss.onEditor();//修改按钮方法
|
ss.onCopy();//复制按钮方法
|
ss.insUpdData.Address_Classification__c = '';
|
ss.insUpdData.Province__c = null;
|
ss.insUpdData.City__c = null;
|
ss.insUpdData.Telephone__c = null;
|
ss.insUpdData.Detailed_Address__c = null;
|
ss.insUpdData.Customer__c = null;
|
ss.save();
|
ss.searchBtn();
|
}
|
|
/**
|
* 为了方便前段table获取值
|
*/
|
class AddressData {
|
//数据
|
public Address__c address { get; set; }
|
//编辑按钮是否展示
|
public String canEdit { get; private set; }
|
|
public AddressData(Address__c record) {
|
address = record;
|
canEdit = '';
|
}
|
//主要是用于第一个展示和复选框是否显示
|
public AddressData(Account record,String disCanEdit,String AccType) {
|
this.address = new Address__c(
|
Address_Classification__c = AccType,
|
Customer__c= record.id,
|
Telephone__c = record.phone,
|
Province__c = record.State_Master__c,
|
City__c = record.City_Master__c,
|
Detailed_Address__c = record.Address__c);
|
canEdit = disCanEdit;
|
}
|
}
|
}
|