bcquality/microsoft/knowledge/testing/handlers-enqueue-never-assert.good.al
Jesper Schulz-Wedde 587f199814 Move testing knowledge from community to microsoft layer
Relocates the six P1+P2 testing-domain articles (18 files: .md + .good.al + .bad.al each) from community/knowledge/testing/ to microsoft/knowledge/testing/ per maintainer request. Pure git-mv rename; no content or frontmatter changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-29 16:21:29 +02:00

36 lines
1.1 KiB
AL

codeunit 50404 "Test Enqueue Handler Good"
{
Subtype = Test;
[Test]
[HandlerFunctions('PostMessageHandler')]
procedure PostingShowsConfirmationMessage()
var
ActualMessage: Text;
begin
// [WHEN] the code under test posts and raises a Message
RunPostingThatMessages();
// [THEN] the body — not the handler — owns the verdict
ActualMessage := LibraryVariableStorage.DequeueText();
Assert.AreEqual('Posting completed.', ActualMessage, 'Unexpected confirmation message.');
LibraryVariableStorage.AssertEmpty();
end;
local procedure RunPostingThatMessages()
begin
// Stands in for the production routine that ends with a Message.
Message('Posting completed.');
end;
[MessageHandler]
procedure PostMessageHandler(Message: Text)
begin
// Capture only — never assert here.
LibraryVariableStorage.Enqueue(Message);
end;
var
Assert: Codeunit "Library Assert";
LibraryVariableStorage: Codeunit "Library - Variable Storage";
}