Sha256: 857830112787b5125d582976eb0aa9c5e32810fe65c6c1c79e7c811146fa15aa

Contents?: true

Size: 901 Bytes

Versions: 4

Compression:

Stored size: 901 Bytes

Contents

require 'spec_helper'

describe Encore::Serializer do
  let(:serializer) { Encore::Serializer::Instance }
  let(:objects) { User.all }
  let(:serialized) { serializer.new(objects).as_json }

  let(:run_migrations!) do
    run_migration do
      create_table(:users, force: true) do |t|
        t.string :name, default: nil
        t.string :discarded_attribute, default: nil
      end
    end
  end

  let(:spawn_objects!) do
    spawn_model('User')
    spawn_serializer('UserSerializer') do
      attributes :name
    end
  end

  let(:create_records!) do
    User.create name: 'Allan', discarded_attribute: 'THIS IS MY PASSWORD'
    User.create name: 'Doe'
  end

  before do
    run_migrations!
    spawn_objects!
    create_records!
  end

  it { expect(serialized[:users].count).to eq(2) }
  it { expect(serialized[:users]).to eq([{ name: 'Allan', links: {} }, { name: 'Doe', links: {} }]) }
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
encore-0.2.3 spec/encore/serializer/main_resource_spec.rb
encore-0.2.2 spec/encore/serializer/main_resource_spec.rb
encore-0.2.1 spec/encore/serializer/main_resource_spec.rb
encore-0.2 spec/encore/serializer/main_resource_spec.rb