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