Skip to content

Add draft API specs for TRN allocation, QTLS and Alert webhooks #1342

Add draft API specs for TRN allocation, QTLS and Alert webhooks

Add draft API specs for TRN allocation, QTLS and Alert webhooks #1342

GitHub Actions / Core test results succeeded Nov 30, 2023 in 1s

Core test results ✅

Tests passed successfully

✅ TeachingRecordSystem/tests/TeachingRecordSystem.Core.Tests/TestResults/_fv-az1272-843_2023-11-30_10_24_50.trx

43 tests were completed in 16s with 43 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
TeachingRecordSystem.Core.Tests.Events.Processing.PublishEventsBackgroundServiceTests 3✅ 96ms
TeachingRecordSystem.Core.Tests.Jobs.BatchSendEytsAwardedEmailsJobTests 8✅ 1000ms
TeachingRecordSystem.Core.Tests.Jobs.BatchSendInductionCompletedEmailsJobTests 8✅ 946ms
TeachingRecordSystem.Core.Tests.Jobs.BatchSendInternationalQtsAwardedEmailsJobTests 8✅ 945ms
TeachingRecordSystem.Core.Tests.Jobs.BatchSendQtsAwardedEmailsJobTests 8✅ 553ms
TeachingRecordSystem.Core.Tests.Jobs.EytsAwardedEmailJobDispatcherTests 1✅ 17ms
TeachingRecordSystem.Core.Tests.Jobs.InductionCompletedEmailJobDispatcherTests 1✅ 22ms
TeachingRecordSystem.Core.Tests.Jobs.InternationalQtsAwardedEmailJobDispatcherTests 1✅ 32ms
TeachingRecordSystem.Core.Tests.Jobs.QtsAwardedEmailJobDispatcherTests 1✅ 26ms
TeachingRecordSystem.Core.Tests.Jobs.SendInductionCompletedEmailJobTests 1✅ 76ms
TeachingRecordSystem.Core.Tests.Jobs.SendInternationalQtsAwardedEmailJobTests 1✅ 107ms
TeachingRecordSystem.Core.Tests.Jobs.SendQtsAwardedEmailJobTests 1✅ 93ms
TeachingRecordSystem.Core.Tests.Services.Certificates.CertificateGeneratorTests 1✅ 2s

✅ TeachingRecordSystem.Core.Tests.Events.Processing.PublishEventsBackgroundServiceTests

✅ PublishEvents_DoesNotPublishAlreadyPublishedEvent
✅ PublishEvents_EventObserverThrows_DoesNotThrow
✅ PublishEvents_PublishesUnpublishEventsAndSetsPublishedFlag

✅ TeachingRecordSystem.Core.Tests.Jobs.BatchSendEytsAwardedEmailsJobTests

✅ Execute_ForMultipleScenarios_EvaluatesDateRangeCorrectly(initialLastAwardedToUtc: 2022-05-23T00:00:00.0000000Z, previousJobLastAwardedToUtc: 2023-02-02T00:00:00.0000000Z, utcNow: 2023-02-06T08:00:00.0000000Z, startExpected: 2023-02-02T00:00:00.0000000Z, endExpected: 2023-02-03T00:00:00.0000000Z)
✅ Execute_ForMultipleScenarios_EvaluatesDateRangeCorrectly(initialLastAwardedToUtc: 2023-02-02T00:00:00.0000000Z, previousJobLastAwardedToUtc: null, utcNow: 2023-02-06T08:00:00.0000000Z, startExpected: 2023-02-02T00:00:00.0000000Z, endExpected: 2023-02-03T00:00:00.0000000Z)
✅ Execute_ForMultipleScenarios_EvaluatesDateRangeCorrectly(initialLastAwardedToUtc: 2023-03-26T00:00:00.0000000Z, previousJobLastAwardedToUtc: null, utcNow: 2023-03-30T08:00:00.0000000Z, startExpected: 2023-03-26T00:00:00.0000000Z, endExpected: 2023-03-27T00:00:00.0000000Z)
✅ Execute_ForMultipleScenarios_EvaluatesDateRangeCorrectly(initialLastAwardedToUtc: 2023-04-01T00:00:00.0000000Z, previousJobLastAwardedToUtc: null, utcNow: 2023-04-05T08:00:00.0000000Z, startExpected: 2023-04-01T00:00:00.0000000Z, endExpected: 2023-04-02T00:00:00.0000000Z)
✅ Execute_ForMultipleScenarios_EvaluatesDateRangeCorrectly(initialLastAwardedToUtc: 2023-10-29T00:00:00.0000000Z, previousJobLastAwardedToUtc: null, utcNow: 2023-11-02T08:00:00.0000000Z, startExpected: 2023-10-29T00:00:00.0000000Z, endExpected: 2023-10-30T00:00:00.0000000Z)
✅ Execute_WhenDoesNotHaveAwardeesForDateRange_UpdatesDatabaseOnly
✅ Execute_WhenEnqueueFails_DoesNotUpdateDatabase
✅ Execute_WhenHasAwardeesForDateRange_UpdatesDatabaseAndEnqueuesJobToSendEmail

✅ TeachingRecordSystem.Core.Tests.Jobs.BatchSendInductionCompletedEmailsJobTests

✅ Execute_ForMultipleScenarios_EvaluatesDateRangeCorrectly(initialLastAwardedToUtc: 2022-05-23T00:00:00.0000000Z, previousJobLastAwardedToUtc: 2023-02-02T00:00:00.0000000Z, utcNow: 2023-02-06T08:00:00.0000000Z, startExpected: 2023-02-02T00:00:00.0000000Z, endExpected: 2023-02-03T00:00:00.0000000Z)
✅ Execute_ForMultipleScenarios_EvaluatesDateRangeCorrectly(initialLastAwardedToUtc: 2023-02-02T00:00:00.0000000Z, previousJobLastAwardedToUtc: null, utcNow: 2023-02-06T08:00:00.0000000Z, startExpected: 2023-02-02T00:00:00.0000000Z, endExpected: 2023-02-03T00:00:00.0000000Z)
✅ Execute_ForMultipleScenarios_EvaluatesDateRangeCorrectly(initialLastAwardedToUtc: 2023-03-26T00:00:00.0000000Z, previousJobLastAwardedToUtc: null, utcNow: 2023-03-30T08:00:00.0000000Z, startExpected: 2023-03-26T00:00:00.0000000Z, endExpected: 2023-03-27T00:00:00.0000000Z)
✅ Execute_ForMultipleScenarios_EvaluatesDateRangeCorrectly(initialLastAwardedToUtc: 2023-04-01T00:00:00.0000000Z, previousJobLastAwardedToUtc: null, utcNow: 2023-04-05T08:00:00.0000000Z, startExpected: 2023-04-01T00:00:00.0000000Z, endExpected: 2023-04-02T00:00:00.0000000Z)
✅ Execute_ForMultipleScenarios_EvaluatesDateRangeCorrectly(initialLastAwardedToUtc: 2023-10-29T00:00:00.0000000Z, previousJobLastAwardedToUtc: null, utcNow: 2023-11-02T08:00:00.0000000Z, startExpected: 2023-10-29T00:00:00.0000000Z, endExpected: 2023-10-30T00:00:00.0000000Z)
✅ Execute_WhenDoesNotHaveCompleteesForDateRange_UpdatesDatabaseOnly
✅ Execute_WhenEnqueueFails_DoesNotUpdateDatabase
✅ Execute_WhenHasCompleteesForDateRange_UpdatesDatabaseAndEnqueuesJobToSendEmail

✅ TeachingRecordSystem.Core.Tests.Jobs.BatchSendInternationalQtsAwardedEmailsJobTests

✅ Execute_ForMultipleScenarios_EvaluatesDateRangeCorrectly(initialLastAwardedToUtc: 2022-05-23T00:00:00.0000000Z, previousJobLastAwardedToUtc: 2023-02-02T00:00:00.0000000Z, utcNow: 2023-02-06T08:00:00.0000000Z, startExpected: 2023-02-02T00:00:00.0000000Z, endExpected: 2023-02-03T00:00:00.0000000Z)
✅ Execute_ForMultipleScenarios_EvaluatesDateRangeCorrectly(initialLastAwardedToUtc: 2023-02-02T00:00:00.0000000Z, previousJobLastAwardedToUtc: null, utcNow: 2023-02-06T08:00:00.0000000Z, startExpected: 2023-02-02T00:00:00.0000000Z, endExpected: 2023-02-03T00:00:00.0000000Z)
✅ Execute_ForMultipleScenarios_EvaluatesDateRangeCorrectly(initialLastAwardedToUtc: 2023-03-26T00:00:00.0000000Z, previousJobLastAwardedToUtc: null, utcNow: 2023-03-30T08:00:00.0000000Z, startExpected: 2023-03-26T00:00:00.0000000Z, endExpected: 2023-03-27T00:00:00.0000000Z)
✅ Execute_ForMultipleScenarios_EvaluatesDateRangeCorrectly(initialLastAwardedToUtc: 2023-04-01T00:00:00.0000000Z, previousJobLastAwardedToUtc: null, utcNow: 2023-04-05T08:00:00.0000000Z, startExpected: 2023-04-01T00:00:00.0000000Z, endExpected: 2023-04-02T00:00:00.0000000Z)
✅ Execute_ForMultipleScenarios_EvaluatesDateRangeCorrectly(initialLastAwardedToUtc: 2023-10-29T00:00:00.0000000Z, previousJobLastAwardedToUtc: null, utcNow: 2023-11-02T08:00:00.0000000Z, startExpected: 2023-10-29T00:00:00.0000000Z, endExpected: 2023-10-30T00:00:00.0000000Z)
✅ Execute_WhenDoesNotHaveAwardeesForDateRange_UpdatesDatabaseOnly
✅ Execute_WhenEnqueueFails_DoesNotUpdateDatabase
✅ Execute_WhenHasAwardeesForDateRange_UpdatesDatabaseAndEnqueuesJobToSendEmail

✅ TeachingRecordSystem.Core.Tests.Jobs.BatchSendQtsAwardedEmailsJobTests

✅ Execute_ForMultipleScenarios_EvaluatesDateRangeCorrectly(initialLastAwardedToUtc: 2022-05-23T00:00:00.0000000Z, previousJobLastAwardedToUtc: 2023-02-02T00:00:00.0000000Z, utcNow: 2023-02-06T08:00:00.0000000Z, startExpected: 2023-02-02T00:00:00.0000000Z, endExpected: 2023-02-03T00:00:00.0000000Z)
✅ Execute_ForMultipleScenarios_EvaluatesDateRangeCorrectly(initialLastAwardedToUtc: 2023-02-02T00:00:00.0000000Z, previousJobLastAwardedToUtc: null, utcNow: 2023-02-06T08:00:00.0000000Z, startExpected: 2023-02-02T00:00:00.0000000Z, endExpected: 2023-02-03T00:00:00.0000000Z)
✅ Execute_ForMultipleScenarios_EvaluatesDateRangeCorrectly(initialLastAwardedToUtc: 2023-03-26T00:00:00.0000000Z, previousJobLastAwardedToUtc: null, utcNow: 2023-03-30T08:00:00.0000000Z, startExpected: 2023-03-26T00:00:00.0000000Z, endExpected: 2023-03-27T00:00:00.0000000Z)
✅ Execute_ForMultipleScenarios_EvaluatesDateRangeCorrectly(initialLastAwardedToUtc: 2023-04-01T00:00:00.0000000Z, previousJobLastAwardedToUtc: null, utcNow: 2023-04-05T08:00:00.0000000Z, startExpected: 2023-04-01T00:00:00.0000000Z, endExpected: 2023-04-02T00:00:00.0000000Z)
✅ Execute_ForMultipleScenarios_EvaluatesDateRangeCorrectly(initialLastAwardedToUtc: 2023-10-29T00:00:00.0000000Z, previousJobLastAwardedToUtc: null, utcNow: 2023-11-02T08:00:00.0000000Z, startExpected: 2023-10-29T00:00:00.0000000Z, endExpected: 2023-10-30T00:00:00.0000000Z)
✅ Execute_WhenDoesNotHaveAwardeesForDateRange_UpdatesDatabaseOnly
✅ Execute_WhenEnqueueFails_DoesNotUpdateDatabase
✅ Execute_WhenHasAwardeesForDateRange_UpdatesDatabaseAndEnqueuesJobToSendEmail

✅ TeachingRecordSystem.Core.Tests.Jobs.EytsAwardedEmailJobDispatcherTests

✅ Execute_WhenCalled_EnqueuesSendEmailJobForAllUnsentItems

✅ TeachingRecordSystem.Core.Tests.Jobs.InductionCompletedEmailJobDispatcherTests

✅ Execute_WhenCalled_EnqueuesSendEmailJobForAllUnsentItems

✅ TeachingRecordSystem.Core.Tests.Jobs.InternationalQtsAwardedEmailJobDispatcherTests

✅ Execute_WhenCalled_EnqueuesSendEmailJobForAllUnsentItems

✅ TeachingRecordSystem.Core.Tests.Jobs.QtsAwardedEmailJobDispatcherTests

✅ Execute_WhenCalled_EnqueuesSendEmailJobForAllUnsentItems

✅ TeachingRecordSystem.Core.Tests.Jobs.SendInductionCompletedEmailJobTests

✅ Execute_WhenCalled_GetsTrnTokenSendsEmailAddsEventAndUpdatesDatabase

✅ TeachingRecordSystem.Core.Tests.Jobs.SendInternationalQtsAwardedEmailJobTests

✅ Execute_WhenCalled_GetsTrnTokenSendsEmailAddsEventAndUpdatesDatabase

✅ TeachingRecordSystem.Core.Tests.Jobs.SendQtsAwardedEmailJobTests

✅ Execute_WhenCalled_GetsTrnTokenSendsEmailAddsEventAndUpdatesDatabase

✅ TeachingRecordSystem.Core.Tests.Services.Certificates.CertificateGeneratorTests

✅ GenerateCertificate_GetsTemplateFromBlobStorageAndSetFieldValuesAsExpected