2121using Microsoft . Extensions . DependencyInjection ;
2222using Microsoft . Extensions . Logging ;
2323using Microsoft . Extensions . Options ;
24+ using Microsoft . OpenApi . Extensions ;
2425using Org . Eclipse . TractusX . Portal . Backend . Framework . DateTimeProvider ;
26+ using Org . Eclipse . TractusX . Portal . Backend . Framework . Models ;
2527using Org . Eclipse . TractusX . Portal . Backend . Framework . Processes . Library . DBAccess ;
2628using Org . Eclipse . TractusX . Portal . Backend . Framework . Processes . Library . Enums ;
2729using Org . Eclipse . TractusX . SsiCredentialIssuer . DBAccess ;
3234using Org . Eclipse . TractusX . SsiCredentialIssuer . Expiry . App . DependencyInjection ;
3335using Org . Eclipse . TractusX . SsiCredentialIssuer . Portal . Service . Models ;
3436using Org . Eclipse . TractusX . SsiCredentialIssuer . Portal . Service . Services ;
37+ using System . Runtime . CompilerServices ;
3538
3639namespace Org . Eclipse . TractusX . SsiCredentialIssuer . Expiry . App . Tests ;
3740
@@ -98,7 +101,7 @@ public async Task ExecuteAsync_WithInactiveAndEligibleForDeletion_RemovesEntry()
98101 . Create ( ) ;
99102 var data = new CredentialExpiryData [ ]
100103 {
101- new ( credentialId , Guid . NewGuid ( ) . ToString ( ) , inactiveVcsToDelete . AddDays ( - 1 ) , null , null , Bpnl , CompanySsiDetailStatusId . INACTIVE , VerifiedCredentialExternalTypeId . MEMBERSHIP_CREDENTIAL , credentialScheduleData )
104+ new ( credentialId , Guid . NewGuid ( ) . ToString ( ) , inactiveVcsToDelete . AddDays ( - 1 ) , null , null , Bpnl , CompanySsiDetailStatusId . INACTIVE , VerifiedCredentialTypeId . MEMBERSHIP , VerifiedCredentialExternalTypeId . MEMBERSHIP_CREDENTIAL , credentialScheduleData )
102105 } ;
103106 A . CallTo ( ( ) => _dateTimeProvider . OffsetNow ) . Returns ( now ) ;
104107 A . CallTo ( ( ) => _companySsiDetailsRepository . GetExpiryData ( A < DateTimeOffset > . _ , A < DateTimeOffset > . _ , A < DateTimeOffset > . _ ) )
@@ -130,7 +133,7 @@ public async Task ExecuteAsync_WithPendingAndExpiryBeforeNow_DeclinesRequest()
130133 . Create ( ) ;
131134 var data = new CredentialExpiryData [ ]
132135 {
133- new ( ssiDetail . Id , ssiDetail . CreatorUserId , ssiDetail . ExpiryDate ! . Value , ssiDetail . ExpiryCheckTypeId , null , Bpnl , ssiDetail . CompanySsiDetailStatusId , VerifiedCredentialExternalTypeId . MEMBERSHIP_CREDENTIAL , credentialScheduleData )
136+ new ( ssiDetail . Id , ssiDetail . CreatorUserId , ssiDetail . ExpiryDate ! . Value , ssiDetail . ExpiryCheckTypeId , null , Bpnl , ssiDetail . CompanySsiDetailStatusId , VerifiedCredentialTypeId . MEMBERSHIP , VerifiedCredentialExternalTypeId . MEMBERSHIP_CREDENTIAL , credentialScheduleData )
134137 } ;
135138 A . CallTo ( ( ) => _dateTimeProvider . OffsetNow ) . Returns ( now ) ;
136139 A . CallTo ( ( ) => _companySsiDetailsRepository . GetExpiryData ( A < DateTimeOffset > . _ , A < DateTimeOffset > . _ , A < DateTimeOffset > . _ ) )
@@ -178,7 +181,7 @@ public async Task ExecuteAsync_WithActiveCloseToExpiry_NotifiesCreator(int days,
178181 . Create ( ) ;
179182 var data = new CredentialExpiryData [ ]
180183 {
181- new ( ssiDetail . Id , ssiDetail . CreatorUserId , ssiDetail . ExpiryDate ! . Value , ssiDetail . ExpiryCheckTypeId , null , Bpnl , ssiDetail . CompanySsiDetailStatusId , VerifiedCredentialExternalTypeId . MEMBERSHIP_CREDENTIAL , credentialScheduleData )
184+ new ( ssiDetail . Id , ssiDetail . CreatorUserId , ssiDetail . ExpiryDate ! . Value , ssiDetail . ExpiryCheckTypeId , null , Bpnl , ssiDetail . CompanySsiDetailStatusId , VerifiedCredentialTypeId . MEMBERSHIP , VerifiedCredentialExternalTypeId . MEMBERSHIP_CREDENTIAL , credentialScheduleData )
182185 } ;
183186 A . CallTo ( ( ) => _dateTimeProvider . OffsetNow ) . Returns ( now ) ;
184187 A . CallTo ( ( ) => _companySsiDetailsRepository . GetExpiryData ( A < DateTimeOffset > . _ , A < DateTimeOffset > . _ , A < DateTimeOffset > . _ ) )
@@ -190,16 +193,18 @@ public async Task ExecuteAsync_WithActiveCloseToExpiry_NotifiesCreator(int days,
190193 initialize ? . Invoke ( ssiDetail ) ;
191194 updateFields . Invoke ( ssiDetail ) ;
192195 } ) ;
196+ var credentialNotification = A . Captured < string > ( ) ;
197+ A . CallTo ( ( ) => _portalService . AddNotification ( credentialNotification . _ , creatorUserId , NotificationTypeId . CREDENTIAL_EXPIRY , A < CancellationToken > . _ ) ) . DoesNothing ( ) ;
193198
194199 // Act
195200 await _sut . ExecuteAsync ( CancellationToken . None ) ;
196201
197202 // Assert
198203 A . CallTo ( ( ) => _companySsiDetailsRepository . RemoveSsiDetail ( ssiDetail . Id , A < string > . _ , A < string > . _ ) ) . MustNotHaveHappened ( ) ;
199204 A . CallTo ( ( ) => _issuerRepositories . SaveAsync ( ) ) . MustHaveHappenedOnceExactly ( ) ;
200- A . CallTo ( ( ) => _portalService . AddNotification ( A < string > . _ , creatorUserId , NotificationTypeId . CREDENTIAL_EXPIRY , A < CancellationToken > . _ ) ) . MustHaveHappenedOnceExactly ( ) ;
201205 A . CallTo ( ( ) => _portalService . TriggerMail ( "CredentialExpiry" , creatorUserId , A < IEnumerable < MailParameter > > . _ , A < CancellationToken > . _ ) ) . MustHaveHappenedOnceExactly ( ) ;
202206
207+ credentialNotification . GetLastValue ( ) . Should ( ) . ContainAll ( VerifiedCredentialExternalTypeId . MEMBERSHIP_CREDENTIAL . GetEnumValue ( ) , VerifiedCredentialTypeId . MEMBERSHIP . GetEnumValue ( ) ) ;
203208 ssiDetail . ExpiryCheckTypeId . Should ( ) . Be ( expiryCheckTypeId ) ;
204209 }
205210}
0 commit comments