Add data handling and test isolation guidance

- add SCM guidance for deriving base quantities through line unit-of-measure validation`n- add security guidance for parameterizing SetFilter with external text`n- add test isolation guidance for resetting per-test state before initialization guards`n- add web-service guidance for JSON null handling and invariant standard format 9`n- route and cover all five rules with paired evaluation fixtures
This commit is contained in:
demiliani 2026-09-23 17:09:24 +02:00
parent 45ca57a23e
commit 570e776a37
20 changed files with 508 additions and 6 deletions

View file

@ -0,0 +1,57 @@
codeunit 50411 "Test Sales Setup Initialize Bad"
{
Subtype = Test;
[Test]
[HandlerFunctions('CustomerCardHandler')]
procedure CustomerCardOpensForSelectedCustomer()
var
Customer: Record Customer;
begin
Initialize();
LibrarySales.CreateCustomer(Customer);
LibraryVariableStorage.Enqueue(Customer."No.");
Page.RunModal(Page::"Customer Card", Customer);
LibraryVariableStorage.AssertEmpty();
end;
[Test]
procedure StockoutWarningCanBeDisabled()
var
SalesSetup: Record "Sales & Receivables Setup";
begin
Initialize();
LibrarySales.SetStockoutWarning(false);
SalesSetup.Get();
Assert.IsFalse(SalesSetup."Stockout Warning", 'The stockout warning was not disabled.');
end;
local procedure Initialize()
begin
if IsInitialized then
exit;
LibraryVariableStorage.Clear();
LibrarySetupStorage.Restore();
LibrarySales.SetStockoutWarning(true);
IsInitialized := true;
LibrarySetupStorage.SaveSalesSetup();
end;
[ModalPageHandler]
procedure CustomerCardHandler(var CustomerCard: TestPage "Customer Card")
begin
Assert.AreEqual(LibraryVariableStorage.DequeueText(), CustomerCard."No.".Value(), 'The customer card opened for the wrong customer.');
end;
var
Assert: Codeunit Assert;
LibrarySales: Codeunit "Library - Sales";
LibrarySetupStorage: Codeunit "Library - Setup Storage";
LibraryVariableStorage: Codeunit "Library - Variable Storage";
IsInitialized: Boolean;
}