spec/graphql/upgrader/member_spec.rb in graphql-1.8.0.pre5 vs spec/graphql/upgrader/member_spec.rb in graphql-1.8.0.pre6

- old
+ new

@@ -461,10 +461,17 @@ def apply(input_text) input_text.sub(@find_pattern, @replace_pattern) end end + # Modify the default output to match the custom structure + class InputObjectsToInputsTransform < GraphQL::Upgrader::Transform + def apply(input_text) + input_text.gsub("Platform::InputObjects::", "Platform::Inputs::") + end + end + def custom_upgrade(original_text) # Replace the default one with a custom one: type_transforms = GraphQL::Upgrader::Member::DEFAULT_TYPE_TRANSFORMS.map { |t| if t == GraphQL::Upgrader::TypeDefineToClassTransform GraphQL::Upgrader::TypeDefineToClassTransform.new(base_class_pattern: "Platform::\\2s::Base") @@ -472,20 +479,22 @@ t end } type_transforms.unshift(ActiveRecordTypeToClassTransform) - field_transforms = GraphQL::Upgrader::Member::DEFAULT_FIELD_TRANSFORMS + type_transforms.push(InputObjectsToInputsTransform) + field_transforms = GraphQL::Upgrader::Member::DEFAULT_FIELD_TRANSFORMS.dup field_transforms.unshift(GraphQL::Upgrader::ConfigurationToKwargTransform.new(kwarg: "visibility")) upgrader = GraphQL::Upgrader::Member.new(original_text, type_transforms: type_transforms, field_transforms: field_transforms) upgrader.upgrade end original_files = Dir.glob("spec/fixtures/upgrader/*.original.rb") original_files.each do |original_file| transformed_file = original_file.sub(".original.", ".transformed.") original_text = File.read(original_file) expected_text = File.read(transformed_file) + it "transforms #{original_file} -> #{transformed_file}" do transformed_text = custom_upgrade(original_text) assert_equal(expected_text, transformed_text) end