- Notifications
You must be signed in to change notification settings - Fork289
[AI Test Tool] Add Language Support, Capability and Frequency#5623
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:main
Are you sure you want to change the base?
Uh oh!
There was an error while loading.Please reload this page.
Conversation
| CannotFindAITSuiteErr:Label'The specified Test Suite with code %1 cannot be found.', Comment ='%1 = Test Suite id.'; | ||
| AITCode:Code[100]; | ||
| LineNoFilter:Integer; | ||
| LanguageTag:Text[80]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Shouldn't this one be set form the OnAfterGetRecord trigger or OnAfterGetCurrentRecord?
| ImportTestInputs(DatasetFileName, DatasetInStream, CallerModuleInfo, LanguageID, DatasetFileName); | ||
| end; | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Nit - double blank line
| /// <param name="DatasetInStream">The InStream of the dataset file.</param> | ||
| /// <param name="LanguageID">The language ID to use for the dataset import.</param> | ||
| /// <param name="Name">The name to use for the dataset import.</param> | ||
| procedure ImportTestInputs(DatasetFileName:Text;var DatasetInStream:InStream; LanguageID:Integer; Name:Text) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
For now it is OK, however we may need to use the builder or factory patterns. We should not be adding additional overloads.
| /// <summary> | ||
| /// Specifies that automation tests run on a daily basis against preview models. | ||
| /// </summary> | ||
| value(3; Preview) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Last 2 are not a frequency, but a type. It is combining multiple things. Maybe a separate module is better?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
The enum could be renamed to AI Run Type it fits the purpose better, however the issue still remains that we are mixing time and what is being run
| Editable = false; | ||
| ToolTip ='Specifies the version of the current test run. It is used for comparing the results of the current test run with the results of the previous test run. The version will be stored in the Log entries.'; | ||
| } | ||
| field(14; "Copilot Capability";Enum "Copilot Capability") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Do we need this?
It could be solved in the different ways if we need to filter out the things differently. Do we need to store this information on the suite level?
Do we want to limit the test suites to test only single copilot capabilites?
| /// <returns>The display name of the language.</returns> | ||
| procedure GetLanguageDisplayName(LanguageID:Integer):Text | ||
| var | ||
| WindowsLanguage:Record "Windows Language"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
I'm not sure if this is the correct table. Should we use languages for supported languages? I could be wrong too
| var | ||
| AITTestSuiteLanguage:Record "AIT Test Suite Language"; | ||
| begin | ||
| AITTestSuiteLanguage.Init(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Uselles, init does nothing here
| table149035 "AIT Test Suite Language" | ||
| { | ||
| Caption ='AI Test Suite Language'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Do we need to persist this table? Can it be a temp table?
Second question - do we need a table at all? Can we get lists?
| if Rec."Parent Group Code" <>''then | ||
| exit; | ||
| // Find if there's already a group with the same Group Name |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Copilot comments that make the code harder to read... Lots of these comments.
| localprocedure GetDefaultLanguageID():Integer | ||
| begin | ||
| exit(1033);// en-US |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Shouldn't it be blank? I think we should distinguish between en-US and blank. If we want to use integers it can be zero, but blank would be better.
Uh oh!
There was an error while loading.Please reload this page.
Summary
This PR adds support for multi-language testing, copilot capability tracking, and test run frequency classification. These additions enable better organization and automation of AI tests across different languages and execution scenarios.
Multi-Language Support
Added support for language for test inputs in the Data-Driven test extension. Localized versions of datasets are linked.
Added support in the AI Test Tool for suites to have one or more languages, based on the localized versions of datasets.
Copilot Capability Tracking
Added Copilot Capability field to AIT Test Suite table. This enables categorization of test suites by the Copilot capability they test
Run Frequency Classification
Added AIT Run Frequency which is added as Run Frequency field to AIT Test Suite table. This enables scheduling based on frequency type.
Updated test suite import/export
Updated the XML import/export functionality to support all new fields. Example XML structure:
Work Item(s)
FixesAB#578022