Skip to content

Commit

Permalink
set meta key on objects
Browse files Browse the repository at this point in the history
  • Loading branch information
david.al-kanani committed Jan 31, 2025
1 parent 8d41d43 commit 274c674
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -185,8 +185,9 @@ result string (1..1)
assertEquals(expected, result);
}


//TODO: read key from an object

//@Disabled //TODO: is this syntax needed? if so we need to find a way to get key as a feature from a Data type
@Test
void canSetExternalKeyOnFunctionObjectOutput() {
var model = """
Expand All @@ -204,10 +205,24 @@ myReference string (1..1)
output:
result Foo (1..1)
set result -> a: "someA"
set result -> key: myReference
""";

var code = generatorTestHelper.generateCode(model);
var classes = generatorTestHelper.compileToClasses(code);
var myFunc = functionGeneratorHelper.createFunc(classes, "MyFunc");

var result = functionGeneratorHelper.invokeFunc(myFunc, FieldWithMeta.class, "someExternalReference");

var expected = generatorTestHelper.createInstanceUsingBuilder(classes, new RosettaJavaPackages.RootPackage("com.rosetta.test.model.metafields"), "FieldWithMetaFoo", Map.of(
"value", generatorTestHelper.createInstanceUsingBuilder(classes, new RosettaJavaPackages.RootPackage("com.rosetta.test.model"), "Foo", Map.of(
"a", "someA"
)),
"meta", MetaFields.builder().setExternalKey("someExternalReference")
));

assertEquals(expected, result);
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -541,6 +541,7 @@ class FunctionGenerator {
return switch(seg.name) {
case "reference": "externalReference"
case "id": "externalKey"
case "key": "externalKey"
case "address": "reference"
default: seg.name
}
Expand Down

0 comments on commit 274c674

Please sign in to comment.