mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-08-06 09:26:52 +01:00
Six BC-specific testing-domain knowledge articles in community/knowledge/testing/, each with .good.al/.bad.al samples: - ui-calls-require-test-handlers - tablerelation-requires-prerequisite-records - handlers-enqueue-never-assert - handlerfunctions-attribute-must-match-ui-path - asserterror-needs-expectederror-and-code - use-library-codeunits-for-test-fixtures Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
36 lines
1.1 KiB
AL
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";
|
|
}
|