@isTest private class NotReceivingNoteWaitingReceiptCtrlTest { static ReceivingNoteTestDataFactory factory; /** @param typeStringListString 格式:'备品类型,管理种类;备品类型,管理种类...' @description 造出指定类型的清单数据,并插入数据库 */ static void setupTestData(String typeStringListString){ factory = new ReceivingNoteTestDataFactory(); factory.setupMasterData(); if(String.isBlank(typeStringListString)){ typeStringListString = '固定资产,个体管理;附属品,个体管理;附属品,数量管理;耗材,数量管理;低值易耗品,数量管理'; } List typeStringList = typeStringListString.split(';'); factory.setupReceivingNoteData(typeStringList); } /** *@description 保存 */ static testMethod void unitTestSave() { setupTestData(''); PageReference ref = new PageReference('/apex/NotReceivingNoteWaitingReceipt?parId=' + factory.rnMap.get('固定资产,个体管理').Id); Test.setCurrentPage(ref); NotReceivingNoteWaitingReceiptController controller = new NotReceivingNoteWaitingReceiptController(); Test.startTest(); controller.init(); controller.getStatusOps(); controller.changeFixModel(); // 不加检索条件则得到全部明细 controller.search(); System.assertEquals(1, controller.pageB.rowBList.size()); //条件检索 controller.pageB.status = '待数据确认'; controller.search(); Id rndId = controller.pageB.rowBList[0].rnd.Id; controller.pageB.rowBList[0].checked = true; controller.pageB.rowBList[0].rnd.SerialNumber__c = 'test'; System.assertEquals(1, controller.pageB.rowBList.size()); controller.saveRecord(); Test.stopTest(); } /** *@description 数据确认 */ static testMethod void unitTestdefineSaveRecord() { setupTestData(''); PageReference ref = new PageReference('/apex/NotReceivingNoteWaitingReceipt?parId=' + factory.rnMap.get('固定资产,个体管理').Id); Test.setCurrentPage(ref); NotReceivingNoteWaitingReceiptController controller = new NotReceivingNoteWaitingReceiptController(); Test.startTest(); controller.init(); // 改为可编辑 controller.changeFixModel(); //条件检索 controller.pageB.status = '待数据确认'; controller.search(); System.assertEquals(1, controller.pageB.rowBList.size()); // 取出第一条数据 Id rndId = controller.pageB.rowBList[0].rnd.Id; controller.pageB.rowBList[0].checked = true; controller.pageB.rowBList[0].rnd.SerialNumber__c = 'test'; controller.defineSaveRecord(); // 确认修改后结果 ReceivingNoteDetail__c newRnd = [ SELECT SerialNumber__c FROM ReceivingNoteDetail__c WHERE Id = :rndId ]; System.assertEquals('test', newRnd.SerialNumber__c); Test.stopTest(); } }