mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-08-06 17:36:53 +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>
34 lines
924 B
AL
34 lines
924 B
AL
codeunit 50400 "Test UI Handlers Good"
|
|
{
|
|
Subtype = Test;
|
|
|
|
[Test]
|
|
[HandlerFunctions('ConfirmHandlerYes')]
|
|
procedure DeleteDocumentConfirmsAndProceeds()
|
|
var
|
|
Deleted: Boolean;
|
|
begin
|
|
// [WHEN] the code under test guards the delete with a Confirm
|
|
Deleted := TryDeleteWithConfirm();
|
|
|
|
// [THEN] the handler answered yes, so the routine proceeded
|
|
Assert.IsTrue(Deleted, 'Routine should proceed after confirmation.');
|
|
end;
|
|
|
|
local procedure TryDeleteWithConfirm(): Boolean
|
|
begin
|
|
// Stands in for the production routine that confirms before deleting.
|
|
if not Confirm('Delete this document?', false) then
|
|
exit(false);
|
|
exit(true);
|
|
end;
|
|
|
|
[ConfirmHandler]
|
|
procedure ConfirmHandlerYes(Question: Text; var Reply: Boolean)
|
|
begin
|
|
Reply := true;
|
|
end;
|
|
|
|
var
|
|
Assert: Codeunit "Library Assert";
|
|
}
|