@@ -1639,3 +1639,53 @@ function g.test_schema_input_arg_described_with_kind_variable_pass()
1639
1639
local _ , errors = check_request (query , query_schema , nil , nil , { variables = variables })
1640
1640
t .assert_equals (errors , nil )
1641
1641
end
1642
+
1643
+ function g .test_arguments_default_values ()
1644
+ local function callback (_ , _ )
1645
+ return nil
1646
+ end
1647
+
1648
+ local mutation_schema = {
1649
+ [' test_mutation' ] = {
1650
+ kind = types .string .nonNull ,
1651
+ arguments = {
1652
+ mutation_arg = types .string ,
1653
+ mutation_arg_defaults = {
1654
+ kind = types .inputObject ({
1655
+ name = ' test_input_object' ,
1656
+ fields = {
1657
+ input_object_arg_defaults = {
1658
+ kind = types .string ,
1659
+ defaultValue = ' input object argument default value'
1660
+ },
1661
+ input_object_arg = types .string ,
1662
+ nested_enum_arg_defaults = {
1663
+ kind = types .enum ({
1664
+ schema = schema ,
1665
+ name = ' mode' ,
1666
+ values = {
1667
+ read = ' read' ,
1668
+ write = ' write' ,
1669
+ },
1670
+ }),
1671
+ defaultValue = ' write' ,
1672
+ }
1673
+ },
1674
+ kind = types .string ,
1675
+ }),
1676
+ },
1677
+ },
1678
+ resolve = callback ,
1679
+ }
1680
+ }
1681
+
1682
+ local data , errors = check_request (introspection .query , nil , mutation_schema )
1683
+ t .assert_equals (errors , nil )
1684
+
1685
+ local test_input_object = util .find_by_name (data .__schema .types , ' test_input_object' )
1686
+ local input_object_arg_defaults = util .find_by_name (test_input_object .inputFields , ' input_object_arg_defaults' )
1687
+ t .assert_equals (input_object_arg_defaults .defaultValue , ' input object argument default value' )
1688
+
1689
+ local nested_enum_arg_defaults = util .find_by_name (test_input_object .inputFields , ' nested_enum_arg_defaults' )
1690
+ t .assert_equals (nested_enum_arg_defaults .defaultValue , ' write' )
1691
+ end
0 commit comments