@isTest
public class CaseTeamRoleTest {
@testSetup
static void setup() {
// Create a new CaseTeamRole record
CaseTeamRole ctr = new CaseTeamRole();
ctr.name = 'Test Case Team Role';
ctr.description = 'Test Case Team Role Description';
insert ctr;
// Create a new CaseTeamMember record
CaseTeamMember ctm = new CaseTeamMember();
ctm.caseId = [SELECT Id FROM Case LIMIT 1].Id;
ctm.userId = [SELECT Id FROM User LIMIT 1].Id;
ctm.teamRoleId = ctr.Id;
insert ctm;
}
@test
static void testCreateCaseTeamRoleAndCaseTeamMember() {
// Assert that the CaseTeamRole and CaseTeamMember records were created
CaseTeamRole ctr = [SELECT Id FROM CaseTeamRole WHERE Name = 'Test Case Team Role' LIMIT 1];
CaseTeamMember ctm = [SELECT Id FROM CaseTeamMember WHERE CaseId = :ctm.caseId AND UserId = :ctm.userId AND TeamRoleId = :ctm.teamRoleId LIMIT 1];
assertNotNull(ctr);
assertNotNull(ctm);
}
}
QGlzVGVzdApwdWJsaWMgY2xhc3MgQ2FzZVRlYW1Sb2xlVGVzdCB7CgogICAgQHRlc3RTZXR1cAogICAgc3RhdGljIHZvaWQgc2V0dXAoKSB7CiAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IENhc2VUZWFtUm9sZSByZWNvcmQKICAgICAgICBDYXNlVGVhbVJvbGUgY3RyID0gbmV3IENhc2VUZWFtUm9sZSgpOwogICAgICAgIGN0ci5uYW1lID0gJ1Rlc3QgQ2FzZSBUZWFtIFJvbGUnOwogICAgICAgIGN0ci5kZXNjcmlwdGlvbiA9ICdUZXN0IENhc2UgVGVhbSBSb2xlIERlc2NyaXB0aW9uJzsKICAgICAgICBpbnNlcnQgY3RyOwoKICAgICAgICAvLyBDcmVhdGUgYSBuZXcgQ2FzZVRlYW1NZW1iZXIgcmVjb3JkCiAgICAgICAgQ2FzZVRlYW1NZW1iZXIgY3RtID0gbmV3IENhc2VUZWFtTWVtYmVyKCk7CiAgICAgICAgY3RtLmNhc2VJZCA9IFtTRUxFQ1QgSWQgRlJPTSBDYXNlIExJTUlUIDFdLklkOwogICAgICAgIGN0bS51c2VySWQgPSBbU0VMRUNUIElkIEZST00gVXNlciBMSU1JVCAxXS5JZDsKICAgICAgICBjdG0udGVhbVJvbGVJZCA9IGN0ci5JZDsKICAgICAgICBpbnNlcnQgY3RtOwogICAgfQoKICAgIEB0ZXN0CiAgICBzdGF0aWMgdm9pZCB0ZXN0Q3JlYXRlQ2FzZVRlYW1Sb2xlQW5kQ2FzZVRlYW1NZW1iZXIoKSB7CiAgICAgICAgLy8gQXNzZXJ0IHRoYXQgdGhlIENhc2VUZWFtUm9sZSBhbmQgQ2FzZVRlYW1NZW1iZXIgcmVjb3JkcyB3ZXJlIGNyZWF0ZWQKICAgICAgICBDYXNlVGVhbVJvbGUgY3RyID0gW1NFTEVDVCBJZCBGUk9NIENhc2VUZWFtUm9sZSBXSEVSRSBOYW1lID0gJ1Rlc3QgQ2FzZSBUZWFtIFJvbGUnIExJTUlUIDFdOwogICAgICAgIENhc2VUZWFtTWVtYmVyIGN0bSA9IFtTRUxFQ1QgSWQgRlJPTSBDYXNlVGVhbU1lbWJlciBXSEVSRSBDYXNlSWQgPSA6Y3RtLmNhc2VJZCBBTkQgVXNlcklkID0gOmN0bS51c2VySWQgQU5EIFRlYW1Sb2xlSWQgPSA6Y3RtLnRlYW1Sb2xlSWQgTElNSVQgMV07CiAgICAgICAgYXNzZXJ0Tm90TnVsbChjdHIpOwogICAgICAgIGFzc2VydE5vdE51bGwoY3RtKTsKICAgIH0KfQ==