@@ -40,7 +40,7 @@ public class ThreadCacheFilterHelperTest {
40
40
}
41
41
42
42
@IsTest
43
- static void shouldReturnOndThreadIdForThreadUpdatedByModiaIntegrationUser () {
43
+ static void shoulNotReturnAnyThreadIdsForGeneralThreadUpdatedByModiaIntegrationUser () {
44
44
myTriggers .disable (MessageCacheHandler .class );
45
45
myTriggers .disable (ThreadCacheHandler .class );
46
46
@@ -88,6 +88,110 @@ public class ThreadCacheFilterHelperTest {
88
88
);
89
89
Test .stopTest ();
90
90
91
+ Assert .areEqual (0 , result .size ());
92
+ }
93
+
94
+ @IsTest
95
+ static void shouldReturnOneThreadIdForClosingThreadByModiaIntegrationUser () {
96
+ myTriggers .disable (MessageCacheHandler .class );
97
+ myTriggers .disable (ThreadCacheHandler .class );
98
+
99
+ Id accountId = [SELECT Id FROM Account LIMIT 1 ].Id ;
100
+ Id experienceCloudUserId = [
101
+ SELECT Id
102
+ FROM User
103
+ WHERE AccountId = : accountId
104
+ ]
105
+ .Id ;
106
+
107
+ // Create record as Modia Integration User
108
+ Id profileId = [
109
+ SELECT Id
110
+ FROM Profile
111
+ WHERE Name = ' System Administrator'
112
+ LIMIT 1
113
+ ]
114
+ .Id ;
115
+ User modiaIntegrationUser = (User ) SharedTestDataFactory .createRecord (
116
+ new User (
117
+
118
+ ProfileId = profileId
119
+ )
120
+ );
121
+
122
+ System .runAs (modiaIntegrationUser ) {
123
+ SharedTestDataFactory .createRecord (
124
+ new Thread__c (
125
+ CRM_Account__c = accountId ,
126
+ CRM_Thread_Type__c = ' STO' ,
127
+ OwnerId = experienceCloudUserId
128
+ )
129
+ );
130
+ }
131
+
132
+ List <Thread__c > threads = [SELECT Id , LastModifiedById FROM Thread__c ];
133
+ HenvendelseUpdateWrapper wrapper = new HenvendelseUpdateWrapper ();
134
+ wrapper .thread = threads [0 ];
135
+ wrapper .isCloseThreadChange = true ;
136
+
137
+ Test .startTest ();
138
+ Set <Id > result = ThreadCacheFilterHelper .getRecordIdsRequiringCacheClear (
139
+ new List <HenvendelseUpdateWrapper >{ wrapper }
140
+ );
141
+ Test .stopTest ();
142
+
143
+ Assert .areEqual (1 , result .size ());
144
+ }
145
+
146
+ @IsTest
147
+ static void shouldReturnOneThreadIdForRedactionRequestByModiaIntegrationUser () {
148
+ myTriggers .disable (MessageCacheHandler .class );
149
+ myTriggers .disable (ThreadCacheHandler .class );
150
+
151
+ Id accountId = [SELECT Id FROM Account LIMIT 1 ].Id ;
152
+ Id experienceCloudUserId = [
153
+ SELECT Id
154
+ FROM User
155
+ WHERE AccountId = : accountId
156
+ ]
157
+ .Id ;
158
+
159
+ // Create record as Modia Integration User
160
+ Id profileId = [
161
+ SELECT Id
162
+ FROM Profile
163
+ WHERE Name = ' System Administrator'
164
+ LIMIT 1
165
+ ]
166
+ .Id ;
167
+ User modiaIntegrationUser = (User ) SharedTestDataFactory .createRecord (
168
+ new User (
169
+
170
+ ProfileId = profileId
171
+ )
172
+ );
173
+
174
+ System .runAs (modiaIntegrationUser ) {
175
+ SharedTestDataFactory .createRecord (
176
+ new Thread__c (
177
+ CRM_Account__c = accountId ,
178
+ CRM_Thread_Type__c = ' STO' ,
179
+ OwnerId = experienceCloudUserId
180
+ )
181
+ );
182
+ }
183
+
184
+ List <Thread__c > threads = [SELECT Id , LastModifiedById FROM Thread__c ];
185
+ HenvendelseUpdateWrapper wrapper = new HenvendelseUpdateWrapper ();
186
+ wrapper .thread = threads [0 ];
187
+ wrapper .isRedactionChange = true ;
188
+
189
+ Test .startTest ();
190
+ Set <Id > result = ThreadCacheFilterHelper .getRecordIdsRequiringCacheClear (
191
+ new List <HenvendelseUpdateWrapper >{ wrapper }
192
+ );
193
+ Test .stopTest ();
194
+
91
195
Assert .areEqual (1 , result .size ());
92
196
}
93
197
0 commit comments