Sha256: 9d0192f20caef7aaf892849fe404465f6257a9052c1510e259f8514e76d3fe4d

Contents?: true

Size: 1.66 KB

Versions: 1

Compression:

Stored size: 1.66 KB

Contents

# frozen_string_literal: true

require "rails_helper"

module Archangel
  module Liquid
    module Drops
      RSpec.describe SiteDrop, type: :liquid_drop do
        let(:resource) do
          create(:site, name: "Test Site", locale: "en")
        end
        let(:resource_drop) { described_class.new(resource) }

        context "attributes" do
          it "_attributes" do
            expect(resource_drop.class._attributes).to eq(%i[locale name])
          end

          it "returns correct attribute values" do
            expect(resource_drop.locale).to eq("en")
            expect(resource_drop.name).to eq("Test Site")
          end

          it "returns correct #logo value" do
            expect(resource_drop.logo)
              .to match(%r{/assets/archangel/fallback/logo(.+).png})
          end
        end

        context "#as_json" do
          it "returns hash of attributes" do
            json_object = {
              locale: "en",
              name: "Test Site"
            }

            expect(resource_drop.as_json).to eq(json_object.as_json)
          end
        end

        context "#to_json" do
          it "returns hash of attributes" do
            json_object = {
              locale: "en",
              name: "Test Site"
            }

            expect(resource_drop.to_json).to eq(json_object.to_json)
          end
        end

        context "#inspect" do
          it "returns inspect string" do
            expect(resource_drop.inspect)
              .to include("#<Archangel::Liquid::Drops::SiteDrop")
            expect(resource_drop.inspect)
              .to include("#<Archangel::Site")
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
archangel-0.3.0 spec/lib/archangel/liquid/drops/site_drop_spec.rb