Skip to content

Commit 958259e

Browse files
committed
Opprett kun queueable-jobb når relevante felter på samtalereferatet oppdateres
1 parent 9ca6e25 commit 958259e

File tree

2 files changed

+37
-8
lines changed

2 files changed

+37
-8
lines changed

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

Lines changed: 34 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,40 @@ global class ConvNoteCacheHandler extends MyTriggers {
66
);
77
}
88
global override void onAfterUpdate(Map<Id, SObject> triggerOldMap) {
9-
//TODO: Sjekk kun for felter som er relevante for cachingen
10-
createHenvendelseCacheQueueable(
11-
(List<Conversation_Note__c>) records,
12-
true
13-
);
9+
List<String> fieldNamesToCheck = new List<String>{
10+
'CRM_Communication_Channel__c',
11+
'CRM_Disposal_Datetime__c',
12+
'CRM_Incorrectly_Sent__c',
13+
'CRM_Is_Read__c',
14+
'STO_Sensitive_Information__c',
15+
'CRM_Subtheme__c',
16+
'CRM_Theme__c',
17+
'CRM_Is_Redacted__c',
18+
'STO_Sensitive_Information__c'
19+
};
20+
21+
List<Conversation_Note__c> convNotesWithRelevantChanges = new List<Conversation_Note__c>();
22+
for (
23+
Conversation_Note__c record : (List<Conversation_Note__c>) records
24+
) {
25+
Conversation_Note__c recordOld = (Conversation_Note__c) triggerOldMap.get(
26+
record.Id
27+
);
28+
29+
if (
30+
MyTriggers.hasChangedFields(
31+
fieldNamesToCheck,
32+
record,
33+
recordOld
34+
)
35+
) {
36+
convNotesWithRelevantChanges.add(record);
37+
}
38+
}
39+
if (convNotesWithRelevantChanges.isEmpty()) {
40+
return;
41+
}
42+
createHenvendelseCacheQueueable(convNotesWithRelevantChanges, true);
1443
}
1544

1645
private void createHenvendelseCacheQueueable(

src/integration/henvendelse-cache/classes/handlers/tests/ConvNoteCacheHandlerTest.cls

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public class ConvNoteCacheHandlerTest {
6161
}
6262

6363
@IsTest
64-
static void shouldNotCreateQueuableJobWhenConvNoteIsUpdatedByInternalUser() {
64+
static void shouldNotCreateQueuableJobWhenNumbeOfApiRetriesIsUpdated() {
6565
ApiMock.setTestMock(
6666
HenvendelseCacheCalloutService.SERVICES.DELETE_HENVENDELSE_CACHE_API.name(),
6767
200,
@@ -78,10 +78,10 @@ public class ConvNoteCacheHandlerTest {
7878
);
7979

8080
Test.startTest();
81-
convNote.CRM_Is_Read__c = true;
81+
convNote.CRM_Number_of_API_Retries__c = 7;
8282
update convNote;
8383
Test.stopTest();
8484

85-
Assert.areEqual(2, [SELECT COUNT() FROM AsyncApexJob]);
85+
Assert.areEqual(1, [SELECT COUNT() FROM AsyncApexJob]); //Expect one job when creating conv note, but no job should be created when upddating
8686
}
8787
}

0 commit comments

Comments
 (0)