mirror of
https://github.com/diaspora/diaspora.git
synced 2026-01-09 15:18:11 -05:00
because we need it for showing the raw image in the lightbox. This got lost, as the photo extension was made after API development started.
41 lines
1.3 KiB
Ruby
41 lines
1.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
describe PhotoPresenter do
|
|
before do
|
|
@photo = bob.post(:photo, pending: true, user_file: File.open(photo_fixture_name), to: "all")
|
|
end
|
|
|
|
it "presents limited API JSON" do
|
|
photo_json = PhotoPresenter.new(@photo).as_api_json(false)
|
|
expect(photo_json.has_key?(:guid)).to be_falsey
|
|
end
|
|
|
|
it "presents full API JSON" do
|
|
photo_json = PhotoPresenter.new(@photo).as_api_json(true)
|
|
expect(photo_json[:guid]).to eq(@photo.guid)
|
|
confirm_photo_format(photo_json, @photo)
|
|
end
|
|
|
|
it "defaults to limited API JSON" do
|
|
photo_json_limited = PhotoPresenter.new(@photo).as_api_json(false)
|
|
photo_json_default = PhotoPresenter.new(@photo).as_api_json
|
|
expect(photo_json_limited).to eq(photo_json_default)
|
|
end
|
|
|
|
# rubocop:disable Metrics/AbcSize
|
|
def confirm_photo_format(photo, ref_photo)
|
|
if ref_photo.status_message_guid
|
|
expect(photo[:post]).to eq(ref_photo.status_message_guid)
|
|
else
|
|
expect(photo.has_key?(:post)).to be_falsey
|
|
end
|
|
expect(photo[:dimensions].has_key?(:height)).to be_truthy
|
|
expect(photo[:dimensions].has_key?(:width)).to be_truthy
|
|
expect(photo[:sizes][:small]).to be_truthy
|
|
expect(photo[:sizes][:medium]).to be_truthy
|
|
expect(photo[:sizes][:large]).to be_truthy
|
|
expect(photo[:sizes][:raw]).to be_truthy
|
|
end
|
|
# rubocop:enable Metrics/AbcSize
|
|
end
|