Skip to content

Commit ac11dd1

Browse files
committed
Hent aktør-IDer for tråder i ClearHenvendelseCacheQueueable
1 parent cf3c189 commit ac11dd1

File tree

5 files changed

+56
-29
lines changed

5 files changed

+56
-29
lines changed

src/integration/henvendelse-cache/classes/handlers/ConvNoteCacheHandler.cls

+2-8
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,7 @@ global class ConvNoteCacheHandler extends MyTriggers {
1414

1515
if (!convNoteIds.isEmpty()) {
1616
System.enqueueJob(
17-
new ClearHenvendelseCacheQueueable(
18-
convNoteIds,
19-
'Conversation_Note__c'
20-
)
17+
new ClearHenvendelseCacheQueueable(convNoteIds, null)
2118
);
2219
}
2320
}
@@ -50,10 +47,7 @@ global class ConvNoteCacheHandler extends MyTriggers {
5047
}
5148
if (!convNoteIds.isEmpty()) {
5249
System.enqueueJob(
53-
new ClearHenvendelseCacheQueueable(
54-
convNoteIds,
55-
'Conversation_Note__c'
56-
)
50+
new ClearHenvendelseCacheQueueable(convNoteIds, null)
5751
);
5852
}
5953
}

src/integration/henvendelse-cache/classes/handlers/MessageCacheHandler.cls

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ global class MessageCacheHandler extends MyTriggers {
1111

1212
if (!threadIds.isEmpty()) {
1313
System.enqueueJob(
14-
new ClearHenvendelseCacheQueueable(threadIds, 'Message__c')
14+
new ClearHenvendelseCacheQueueable(null, threadIds)
1515
);
1616
}
1717
}
@@ -29,7 +29,7 @@ global class MessageCacheHandler extends MyTriggers {
2929
}
3030
if (!threadIds.isEmpty()) {
3131
System.enqueueJob(
32-
new ClearHenvendelseCacheQueueable(threadIds, 'Message__c')
32+
new ClearHenvendelseCacheQueueable(null, threadIds)
3333
);
3434
}
3535
}

src/integration/henvendelse-cache/classes/handlers/ThreadCacheHandler.cls

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ global class ThreadCacheHandler extends MyTriggers {
2727
}
2828
if (!threadIds.isEmpty()) {
2929
System.enqueueJob(
30-
new ClearHenvendelseCacheQueueable(threadIds, 'Thread__c')
30+
new ClearHenvendelseCacheQueueable(null, threadIds)
3131
);
3232
}
3333
}

src/integration/henvendelse-cache/classes/queueable/ClearHenvendelseCacheQueueable.cls

+21-8
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
public with sharing class ClearHenvendelseCacheQueueable implements Queueable, Database.AllowsCallouts {
22
private Set<Id> conversationNoteIds;
3-
private String objectType;
3+
private Set<Id> threadIds;
44
private LoggerUtility logger = new LoggerUtility('HenvendelseCache');
55

66
public ClearHenvendelseCacheQueueable(
77
Set<Id> conversationNoteIds,
8-
String objectType
8+
Set<Id> threadIds
99
) {
1010
this.conversationNoteIds = conversationNoteIds;
11-
this.objectType = objectType;
11+
this.threadIds = threadIds;
1212
}
1313

1414
public void execute(QueueableContext context) {
@@ -17,9 +17,20 @@ public with sharing class ClearHenvendelseCacheQueueable implements Queueable, D
1717

1818
@TestVisible
1919
private void sendActorIdsToHenvendelseDbApi() {
20-
Set<String> actorIds = ConvNoteCacheFilterHelper.getActorIds(
21-
conversationNoteIds
22-
);
20+
Set<String> actorIds;
21+
Set<Id> recordIds;
22+
23+
if (conversationNoteIds != null && !conversationNoteIds.isEmpty()) {
24+
actorIds = ConvNoteCacheFilterHelper.getActorIds(
25+
conversationNoteIds
26+
);
27+
recordIds = conversationNoteIds;
28+
}
29+
30+
if (threadIds != null && !threadIds.isEmpty()) {
31+
actorIds = ThreadCacheFilterHelper.getActorIds(threadIds);
32+
recordIds = threadIds;
33+
}
2334

2435
if (actorIds.isEmpty()) {
2536
return;
@@ -33,7 +44,9 @@ public with sharing class ClearHenvendelseCacheQueueable implements Queueable, D
3344
'Failed to clear henvendelse cache for acotorIds ' +
3445
actorIds.toString() +
3546
' ' +
36-
response.getBody(),
47+
response.getBody() +
48+
' triggered by ' +
49+
recordIds.toString(),
3750
null,
3851
CRM_ApplicationDomain.Domain.NKS
3952
);
@@ -42,7 +55,7 @@ public with sharing class ClearHenvendelseCacheQueueable implements Queueable, D
4255
'Clear cahce for actorIds ' +
4356
actorIds.toString() +
4457
' triggered by ' +
45-
objectType,
58+
recordIds.toString(),
4659
null,
4760
CRM_ApplicationDomain.Domain.NKS
4861
);

src/integration/henvendelse-cache/classes/queueable/tests/ClearHenvendelseCacheQueueableTest.cls

+30-10
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ private class ClearHenvendelseCacheQueueableTest {
4242
Test.startTest();
4343
ClearHenvendelseCacheQueueable queueable = new ClearHenvendelseCacheQueueable(
4444
new Set<Id>{ 'a1P1I0000001a1aUAA' },
45-
'Message__c'
45+
null
4646
);
4747
System.enqueueJob(queueable);
4848
Test.stopTest();
@@ -51,7 +51,7 @@ private class ClearHenvendelseCacheQueueableTest {
5151
}
5252

5353
@isTest
54-
static void shouldPostOneConversationNoteSuccessfully() {
54+
static void shouldPostOneConversationNoteSuccessfullyForConversationNote() {
5555
Id convNoteId = [SELECT Id FROM Conversation_Note__c LIMIT 1].Id;
5656

5757
ApiMock.setTestMock(
@@ -61,10 +61,33 @@ private class ClearHenvendelseCacheQueueableTest {
6161
);
6262

6363
Test.startTest();
64-
new ClearHenvendelseCacheQueueable(
65-
new Set<Id>{ convNoteId },
66-
'Conversation_Note__c'
67-
)
64+
new ClearHenvendelseCacheQueueable(new Set<Id>{ convNoteId }, null)
65+
.sendActorIdsToHenvendelseDbApi();
66+
67+
Test.stopTest();
68+
69+
System.assertEquals(
70+
0,
71+
[
72+
SELECT COUNT()
73+
FROM Application_Log__c
74+
WHERE Log_Level__c = 'Error'
75+
]
76+
);
77+
}
78+
79+
@isTest
80+
static void shouldPostOneConversationNoteSuccessfullyForThread() {
81+
Id threadId = [SELECT Id FROM Thread__c LIMIT 1].Id;
82+
83+
ApiMock.setTestMock(
84+
HenvendelseCacheCalloutService.SERVICES.DELETE_HENVENDELSE_CACHE_API.name(),
85+
200,
86+
'OK'
87+
);
88+
89+
Test.startTest();
90+
new ClearHenvendelseCacheQueueable(null, new Set<Id>{ threadId })
6891
.sendActorIdsToHenvendelseDbApi();
6992

7093
Test.stopTest();
@@ -90,10 +113,7 @@ private class ClearHenvendelseCacheQueueableTest {
90113
);
91114

92115
Test.startTest();
93-
new ClearHenvendelseCacheQueueable(
94-
new Set<Id>{ convNoteId },
95-
'Conversation_Note__c'
96-
)
116+
new ClearHenvendelseCacheQueueable(new Set<Id>{ convNoteId }, null)
97117
.sendActorIdsToHenvendelseDbApi();
98118

99119
Test.stopTest();

0 commit comments

Comments
 (0)