-
Notifications
You must be signed in to change notification settings - Fork 294
[AI Test Tool] Add Language Support and Capability #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 our terms of service and privacy 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?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,6 +6,7 @@ | |
| namespace System.TestTools.AITestToolkit; | ||
|
|
||
| using System.TestTools.TestRunner; | ||
| using System.AI; | ||
|
|
||
| #pragma warning disable AS0002 | ||
| table 149030 "AIT Test Suite" | ||
|
|
@@ -113,6 +114,11 @@ table 149030 "AIT Test Suite" | |
| 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") | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we need this? Do we want to limit the test suites to test only single copilot capabilites?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This adds better categorization and filtering options for test suites. Test suites clearly linked to capabilities will also make it easier to create dashboards, etc., to get count of tests per feature or results per feature. I think it's a fair restriction to make that a test suite tests one capability. This is also true for our existing test suites.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @stkillen Are we sure that partners will use it in the same way? Are we sure that partners will use copilot capabilities.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Partners have to register their capability to use the AI SDK. Thus, there's no way to test e.g. prompt changes without testing a specific capability that you registered. The only way is if you build your own SDK and still want to use the test tool. If that's case, they can opt out of using the field as it's optional. But for all MS features and partner features built using the AI SDK, it makes sense. I can introduce handling for 0 as "Not Specified" if there's any scenarios where it's not relevant. |
||
| { | ||
| Caption = 'Copilot Capability'; | ||
| ToolTip = 'Specifies the Copilot Capability that the test suite tests.'; | ||
| } | ||
| field(16; "Base Version"; Integer) | ||
| { | ||
| Caption = 'Base Version'; | ||
|
|
@@ -186,6 +192,34 @@ table 149030 "AIT Test Suite" | |
| FieldClass = FlowField; | ||
| CalcFormula = count("AIT Column Mapping" where("Test Suite Code" = field("Code"))); | ||
| } | ||
| field(40; "Language ID"; Integer) | ||
| { | ||
| Caption = 'Language ID'; | ||
| TableRelation = "AIT Test Suite Language"."Language ID"; | ||
| ValidateTableRelation = true; | ||
| ToolTip = 'Specifies the Windows Language ID for this test suite language.'; | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I would not use Windows language ID, simply language that the test suite runs in/
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we want to limit the test suite to a single language? |
||
|
|
||
| trigger OnValidate() | ||
| var | ||
| AITTestSuiteLanguage: Codeunit "AIT Test Suite Language"; | ||
| begin | ||
| AITTestSuiteLanguage.UpdateLanguagesForTestSuite(Rec); | ||
| end; | ||
| } | ||
| field(41; "Language Tag"; Text[80]) | ||
| { | ||
| Caption = 'Language Tag'; | ||
| Editable = false; | ||
| FieldClass = FlowField; | ||
| CalcFormula = lookup("AIT Test Suite Language"."Language Tag" where("Test Suite Code" = field("Code"), "Language ID" = field("Language ID"))); | ||
| } | ||
| field(42; "Language Name"; Text[80]) | ||
| { | ||
| Caption = 'Language Name'; | ||
| Editable = false; | ||
| FieldClass = FlowField; | ||
| CalcFormula = lookup("AIT Test Suite Language"."Language Name" where("Test Suite Code" = field("Code"), "Language ID" = field("Language ID"))); | ||
| } | ||
| field(50; "Test Runner Id"; Integer) | ||
| { | ||
| Caption = 'Test Runner Id'; | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.