Skip to content
Snippets Groups Projects
Unverified Commit 98769b41 authored by Sébastien Gaya's avatar Sébastien Gaya
Browse files

wip variant service test

parent defc7400
No related branches found
No related tags found
No related merge requests found
Showing
with 204 additions and 90 deletions
test/fixtures/files/dan-gold@2x.jpeg

157 KiB

test/fixtures/files/dan-gold_1000x500_crop_left.jpeg

85.1 KiB

test/fixtures/files/dan-gold_200x300_crop_top.jpeg

13.2 KiB

test/fixtures/files/dan-gold_250x250@3x.jpeg

58.2 KiB

test/fixtures/files/dan-gold_250x250_crop_left@2x.jpeg

43.5 KiB

test/fixtures/files/dan-gold_300x200_crop_right@2x.jpeg

44.9 KiB

test/fixtures/files/dan-gold_500x.jpeg

30.6 KiB

test/fixtures/files/dan-gold_500x500.jpeg

30.6 KiB

test/fixtures/files/dan-gold_500x500@2x.jpeg

91.3 KiB

test/fixtures/files/dan-gold_500x500_crop_left.jpeg

43.5 KiB

test/fixtures/files/dan-gold_crop_left.jpeg

157 KiB

test/fixtures/files/dan-gold_crop_left@2x.jpeg

157 KiB

test/fixtures/files/dan-gold_x500.jpeg

76.5 KiB

......@@ -143,106 +143,212 @@ class VariantServiceTest < ActiveSupport::TestCase
# Transformations tests
# test "transformations for dan-gold.jpeg" do
# blob = create_file_blob(filename: "dan-gold.jpeg")
# expected_transformations = {}
# variant_service = VariantService.compute(blob, 'dan-gold', 'jpeg')
# assert_equal expected_transformations, variant_service.transformations
# end
#
# test "transformations for dan-gold.webp" do
# blob = create_file_blob(filename: "dan-gold.jpeg")
# expected_transformations = { format: 'webp' }
# variant_service = VariantService.compute(blob, 'dan-gold', 'webp')
# assert_equal expected_transformations, variant_service.transformations
# end
#
# test "transformations for dan-gold_500x500.jpeg" do
# blob = create_file_blob(filename: "dan-gold.jpeg")
# expected_transformations = { resize_to_limit: [500, 500] }
# variant_service = VariantService.compute(blob, 'dan-gold_500x500', 'jpeg')
# assert_equal expected_transformations, variant_service.transformations
# end
#
# test "transformations for dan-gold_500x.jpeg" do
# blob = create_file_blob(filename: "dan-gold.jpeg")
# expected_transformations = { resize_to_limit: [500, nil] }
# variant_service = VariantService.compute(blob, 'dan-gold_500x', 'jpeg')
# assert_equal expected_transformations, variant_service.transformations
# end
#
# test "transformations for dan-gold_x500.jpeg" do
# blob = create_file_blob(filename: "dan-gold.jpeg")
# expected_transformations = { resize_to_limit: [nil, 836] }
# variant_service = VariantService.compute(blob, 'dan-gold_x500', 'jpeg')
# assert_equal expected_transformations, variant_service.transformations
# end
#
# test "transformations for dan-gold_500x500_crop_left.jpeg" do
# blob = create_file_blob(filename: "dan-gold.jpeg")
# expected_transformations = {
# resize_to_fill: [500, 836, { gravity: 'West' }],
# crop: '500x836+0+0'
# }
# variant_service = VariantService.compute(blob, 'dan-gold_500x500_crop_left', 'jpeg')
# assert_equal expected_transformations, variant_service.transformations
# end
#
# test "transformations for dan-gold_500x500_crop_left@2x.jpeg" do
# blob = create_file_blob(filename: "dan-gold.jpeg")
# expected_transformations = {
# resize_to_fill: [2000, 836, { gravity: 'West' }],
# crop: '2000x2000+0+0'
# }
# variant_service = VariantService.compute(blob, 'dan-gold_500x500_crop_left@2x', 'jpeg')
# assert_equal expected_transformations, variant_service.transformations
# end
#
# test "transformations for dan-gold_crop_left.jpeg" do
# blob = create_file_blob(filename: "dan-gold.jpeg")
# expected_transformations = {}
# variant_service = VariantService.compute(blob, 'dan-gold_crop_left', 'jpeg')
# assert_equal expected_transformations, variant_service.transformations
# end
#
# test "transformations for dan-gold@2x.jpeg" do
# blob = create_file_blob(filename: "dan-gold.jpeg")
# expected_transformations = {}
# variant_service = VariantService.compute(blob, 'dan-gold@2x', 'jpeg')
# assert_equal expected_transformations, variant_service.transformations
# end
#
# test "transformations for dan-gold_crop_left@2x.jpeg" do
# blob = create_file_blob(filename: "dan-gold.jpeg")
# expected_transformations = {}
# variant_service = VariantService.compute(blob, 'dan-gold_crop_left@2x', 'jpeg')
# assert_equal expected_transformations, variant_service.transformations
# end
test "transformations for dan-gold.jpeg" do
blob = create_file_blob(filename: "dan-gold.jpeg")
expected_transformations = {}
variant_service = VariantService.compute(blob, 'dan-gold', 'jpeg')
assert_equal expected_transformations, variant_service.transformations
end
test "transformations for dan-gold.webp" do
blob = create_file_blob(filename: "dan-gold.jpeg")
expected_transformations = { format: 'webp' }
variant_service = VariantService.compute(blob, 'dan-gold', 'webp')
assert_equal expected_transformations, variant_service.transformations
end
test "transformations for dan-gold_500x500.jpeg" do
blob = create_file_blob(filename: "dan-gold.jpeg")
expected_transformations = { resize_to_limit: [500, 500] }
variant_service = VariantService.compute(blob, 'dan-gold_500x500', 'jpeg')
assert_equal expected_transformations, variant_service.transformations
end
test "transformations for dan-gold_500x.jpeg" do
blob = create_file_blob(filename: "dan-gold.jpeg")
expected_transformations = { resize_to_limit: [500, nil] }
variant_service = VariantService.compute(blob, 'dan-gold_500x', 'jpeg')
assert_equal expected_transformations, variant_service.transformations
end
test "transformations for dan-gold_x500.jpeg" do
blob = create_file_blob(filename: "dan-gold.jpeg")
expected_transformations = { resize_to_limit: [nil, 500] }
variant_service = VariantService.compute(blob, 'dan-gold_x500', 'jpeg')
assert_equal expected_transformations, variant_service.transformations
end
test "transformations for dan-gold_crop_left.jpeg" do
blob = create_file_blob(filename: "dan-gold.jpeg")
expected_transformations = {}
variant_service = VariantService.compute(blob, 'dan-gold_crop_left', 'jpeg')
assert_equal expected_transformations, variant_service.transformations
end
test "transformations for dan-gold@2x.jpeg" do
blob = create_file_blob(filename: "dan-gold.jpeg")
expected_transformations = {}
variant_service = VariantService.compute(blob, 'dan-gold@2x', 'jpeg')
assert_equal expected_transformations, variant_service.transformations
end
test "transformations for dan-gold_500x500_crop_left.jpeg" do
blob = create_file_blob(filename: "dan-gold.jpeg")
expected_transformations = {
resize_to_fill: [500, 500, { gravity: 'West' }],
crop: '500x500+0+0'
}
variant_service = VariantService.compute(blob, 'dan-gold_500x500_crop_left', 'jpeg')
assert_equal expected_transformations, variant_service.transformations
end
test "transformations for dan-gold_500x500@2x.jpeg" do
blob = create_file_blob(filename: "dan-gold.jpeg")
expected_transformations = { resize_to_limit: [1000, 1000] }
variant_service = VariantService.compute(blob, 'dan-gold_500x500@2x', 'jpeg')
assert_equal expected_transformations, variant_service.transformations
end
test "transformations for dan-gold_250x250@3x.jpeg" do
blob = create_file_blob(filename: "dan-gold.jpeg")
expected_transformations = { resize_to_limit: [750, 750] }
variant_service = VariantService.compute(blob, 'dan-gold_250x250@3x', 'jpeg')
assert_equal expected_transformations, variant_service.transformations
end
test "transformations for dan-gold_crop_left@2x.jpeg" do
blob = create_file_blob(filename: "dan-gold.jpeg")
expected_transformations = {}
variant_service = VariantService.compute(blob, 'dan-gold_crop_left@2x', 'jpeg')
assert_equal expected_transformations, variant_service.transformations
end
test "transformations for dan-gold_250x250_crop_left@2x.jpeg" do
blob = create_file_blob(filename: "dan-gold.jpeg")
expected_transformations = {
resize_to_fill: [500, 500, { gravity: 'West' }],
crop: '500x500+0+0'
}
variant_service = VariantService.compute(blob, 'dan-gold_250x250_crop_left@2x', 'jpeg')
assert_equal expected_transformations, variant_service.transformations
end
test "transformations for dan-gold_200x300_crop_top.jpeg" do
blob = create_file_blob(filename: "dan-gold.jpeg")
expected_transformations = {
resize_to_fill: [200, 300, { gravity: 'North' }],
crop: '200x300+0+0'
}
variant_service = VariantService.compute(blob, 'dan-gold_200x300_crop_top', 'jpeg')
assert_equal expected_transformations, variant_service.transformations
end
test "transformations for dan-gold_300x200_crop_right@2x.jpeg" do
blob = create_file_blob(filename: "dan-gold.jpeg")
expected_transformations = {
resize_to_fill: [600, 400, { gravity: 'East' }],
crop: '600x400+0+0'
}
variant_service = VariantService.compute(blob, 'dan-gold_300x200_crop_right@2x', 'jpeg')
assert_equal expected_transformations, variant_service.transformations
end
test "transformations for dan-gold_1000x500_crop_left.jpeg" do
blob = create_file_blob(filename: "dan-gold.jpeg")
expected_transformations = {
resize_to_fill: [1000, 500, { gravity: 'West' }],
crop: '1000x500+0+0'
}
variant_service = VariantService.compute(blob, 'dan-gold_1000x500_crop_left', 'jpeg')
assert_equal expected_transformations, variant_service.transformations
end
# Variants tests
test "variant for dan-gold.webp" do
expected_blob = create_file_blob(filename: "dan-gold.webp")
image = load_image_from_variant_name(expected_blob.filename.base, format: 'webp')
assert_equal "WEBP", image.type
assert_equal expected_blob.checksum, image_checksum(image)
end
blob = create_file_blob(filename: "dan-gold.jpeg")
variant_service = VariantService.compute(blob, 'dan-gold', 'webp')
variant = blob.variant(variant_service.transformations).processed
image = read_image(variant)
test "variant for dan-gold_500x500.jpeg" do
expected_blob = create_file_blob(filename: "dan-gold_500x500.jpeg")
image = load_image_from_variant_name(expected_blob.filename.base)
assert_equal expected_blob.checksum, image_checksum(image)
end
assert_equal "WEBP", image.type
assert_equal 1486, image.width
assert_equal 836, image.height
test "variant for dan-gold_500x.jpeg" do
expected_blob = create_file_blob(filename: "dan-gold_500x.jpeg")
image = load_image_from_variant_name(expected_blob.filename.base)
assert_equal expected_blob.checksum, image_checksum(image)
end
# test "variant for dan-gold_500x500.jpeg" do
# blob = create_file_blob(filename: "dan-gold.jpeg")
# variant_service = VariantService.compute(blob, 'dan-gold_500x500', 'jpeg')
# variant = blob.variant(variant_service.transformations).processed
# image = read_image(variant)
# assert_equal 500, image.width
# assert_equal 563, image.height
# end
test "variant for dan-gold_x500.jpeg" do
expected_blob = create_file_blob(filename: "dan-gold_x500.jpeg")
image = load_image_from_variant_name(expected_blob.filename.base)
assert_equal expected_blob.checksum, image_checksum(image)
end
test "variant for dan-gold_crop_left.jpeg" do
expected_blob = create_file_blob(filename: "dan-gold_crop_left.jpeg")
image = load_image_from_variant_name(expected_blob.filename.base)
assert_equal expected_blob.checksum, image_checksum(image)
end
test "variant for dan-gold@2x.jpeg" do
expected_blob = create_file_blob(filename: "dan-gold@2x.jpeg")
image = load_image_from_variant_name(expected_blob.filename.base)
assert_equal expected_blob.checksum, image_checksum(image)
end
test "variant for dan-gold_500x500_crop_left.jpeg" do
expected_blob = create_file_blob(filename: "dan-gold_500x500_crop_left.jpeg")
image = load_image_from_variant_name(expected_blob.filename.base)
assert_equal expected_blob.checksum, image_checksum(image)
end
test "variant for dan-gold_500x500@2x.jpeg" do
expected_blob = create_file_blob(filename: "dan-gold_500x500@2x.jpeg")
image = load_image_from_variant_name(expected_blob.filename.base)
assert_equal expected_blob.checksum, image_checksum(image)
end
test "variant for dan-gold_250x250@3x.jpeg" do
expected_blob = create_file_blob(filename: "dan-gold_250x250@3x.jpeg")
image = load_image_from_variant_name(expected_blob.filename.base)
assert_equal expected_blob.checksum, image_checksum(image)
end
test "variant for dan-gold_crop_left@2x.jpeg" do
expected_blob = create_file_blob(filename: "dan-gold_crop_left@2x.jpeg")
image = load_image_from_variant_name(expected_blob.filename.base)
assert_equal expected_blob.checksum, image_checksum(image)
end
test "variant for dan-gold_250x250_crop_left@2x.jpeg" do
expected_blob = create_file_blob(filename: "dan-gold_250x250_crop_left@2x.jpeg")
image = load_image_from_variant_name(expected_blob.filename.base)
assert_equal expected_blob.checksum, image_checksum(image)
end
test "variant for dan-gold_200x300_crop_top.jpeg" do
expected_blob = create_file_blob(filename: "dan-gold_200x300_crop_top.jpeg")
image = load_image_from_variant_name(expected_blob.filename.base)
assert_equal expected_blob.checksum, image_checksum(image)
end
test "variant for dan-gold_300x200_crop_right@2x.jpeg" do
expected_blob = create_file_blob(filename: "dan-gold_300x200_crop_right@2x.jpeg")
image = load_image_from_variant_name(expected_blob.filename.base)
assert_equal expected_blob.checksum, image_checksum(image)
end
test "variant for dan-gold_1000x500_crop_left.jpeg" do
expected_blob = create_file_blob(filename: "dan-gold_1000x500_crop_left.jpeg")
image = load_image_from_variant_name(expected_blob.filename.base)
assert_equal expected_blob.checksum, image_checksum(image)
end
private
......@@ -254,6 +360,14 @@ class VariantServiceTest < ActiveSupport::TestCase
MiniMagick::Image.open blob_or_variant.service.send(:path_for, blob_or_variant.key)
end
def load_image_from_variant_name(variant_name, format: 'jpeg')
blob = create_file_blob(filename: "dan-gold.jpeg")
variant_service = VariantService.compute(blob, variant_name, format)
transformations = variant_service.transformations
blob_or_variant = transformations.empty? ? blob : blob.variant(variant_service.transformations).processed
read_image(blob_or_variant)
end
def image_checksum(image)
OpenSSL::Digest::MD5.base64digest(image.to_blob)
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment