mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-08-06 17:36:53 +01:00
Respond to @nikolakukrika's review on #62: - Merge ui-calls-require-test-handlers, handlerfunctions-attribute-must-match-ui-path and handlers-enqueue-never-assert into a single ui-handlers-in-tests article. - Adopt the enqueue-from-test / dequeue-and-assert-in-handler pattern using Assert.ExpectedConfirm/ExpectedMessage (substring match), with Initialize() clearing LibraryVariableStorage and AssertEmpty() proving exact call counts. - asserterror sample now uses Assert.ExpectedTestFieldError + FieldCaption instead of hardcoded message/code; article text points to the library helpers. - Drop the tablerelation article and fold its test-relevant ordering point (relations checked on Validate/Insert(true); build parents first) into use-library-codeunits-for-test-fixtures. Article count 198 -> 195. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
26 lines
823 B
AL
26 lines
823 B
AL
codeunit 50408 "Test AssertError Good"
|
|
{
|
|
Subtype = Test;
|
|
|
|
[Test]
|
|
procedure BlankNameIsRejectedWithSpecificError()
|
|
var
|
|
Customer: Record Customer;
|
|
begin
|
|
Customer.Init();
|
|
Customer.Name := '';
|
|
|
|
// [WHEN] a mandatory field is blank
|
|
asserterror Customer.TestField(Name);
|
|
|
|
// [THEN] verify the SPECIFIC failure through a reusable Library helper
|
|
// instead of hardcoding the localized message and the 'TestField' code.
|
|
// ExpectedTestFieldError centralizes that knowledge, so the test keeps
|
|
// working when the caption or code changes; FieldCaption avoids pinning
|
|
// the field name as a literal.
|
|
Assert.ExpectedTestFieldError(Customer.FieldCaption(Name), '');
|
|
end;
|
|
|
|
var
|
|
Assert: Codeunit "Library Assert";
|
|
}
|