@isTest
private class AssessmentReportHandlerTest {

	@isTest static void test_method_one() {
		RecordType rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'Hp'];
		List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName IN ('Department_GI', 'Department_BF') order by DeveloperName desc];

		Account acc = new Account();
		acc.RecordTypeId = rectCo.Id;
		acc.Name = 'HP test1';
		insert acc;

		List<Account> dept = [select Id, Name from Account where ParentId = :acc.Id and Department_Class_Label__c IN ('消化科', '呼吸科') order by Department_Class_Label__c];

		Account depart1 = new Account();
		depart1.RecordTypeId = rectDpt[0].Id;
		depart1.Name         = '*';
		depart1.Department_Name__c  = 'Gastoro Intestin Test';
		depart1.ParentId            = dept[0].Id;
		depart1.Department_Class__c = dept[0].Id;
		depart1.Hospital__c         = acc.Id;

		Account depart2 = new Account();
		depart2.RecordTypeId = rectDpt[1].Id;
		depart2.Name         = '*';
		depart2.Department_Name__c  = '診療科2';
		depart2.ParentId            = dept[1].Id;
		depart2.Department_Class__c = dept[1].Id;
		depart2.Hospital__c         = acc.Id;
		insert new Account[] {depart1, depart2};

		Contact con = new Contact();
		con.LastName = 'lastname2';
		con.FirstName = 'firstname2';
		con.Email = 'olympustest033@sunbridge.com';
		con.MobilePhone = '99999999';
		con.Work_Location_manual__c = 'location2';
		con.Post_picklist__c = '部长';
		con.Job_Category_picklist__c = '销售推广';
		con.Hire_date_text__c = Date.today().addMonths(-6);
		con.Gender_text__c = '男';
		con.dept__c = '服务本部';
		con.Pregnant_Rest__c = true;
		insert con;

		RecordType rectCam =
		    [select Id from RecordType
		     where IsActive = true and SobjectType = 'Campaign'
		                      and DeveloperName = 'ServiceEngineerTraining'];

		Campaign cam = new Campaign();
		cam.Name = 'cam';
		cam.Name2__c = '1234';
		cam.RecordTypeId = rectCam.Id;
		cam.StartDate = Date.today().addDays(-15);
		cam.EndDate = Date.today().addDays(18);
		cam.Mailflg_after45__c = true;
		cam.Mailflg_cancel__c = true;
		cam.Mailflg_before15__c = true;
		cam.Mailflg_before7__c = true;
		cam.Mailflg_after3__c = true;
		insert cam;
		CampaignMember__c tempCM = new  CampaignMember__c(Contact_ID__c = con.id, Campaign__c = cam.id);
		insert tempCM;

		AssessmentReport__C temAR = new AssessmentReport__C();
		temAR.Campaign__c = cam.id;
		temAR.Status__c	 = '草案中';
		temAR.Name = cam.Name + '第' + 1 + '次报告';
		insert temAR;
		AssessmentReportStaff__c tempARS =  new AssessmentReportStaff__c();
		tempARS.CampaignMember__c = tempCM.id;
		tempARS.Contact__c       = con.id;
		tempARS.AssessmentReport__c = temAR.id;
		tempARS.Department__c = depart2.id ;
		insert tempARS;
		temAR.Status__c = '批准';
		temAR.Type__c = '考核';
		update temAR;


	}

}