Sha256: 30ce2f1820d442a83c88bf5265552e674bc342c5dc40967c5b35607b8ea61fc1

Contents?: true

Size: 1.2 KB

Versions: 6

Compression:

Stored size: 1.2 KB

Contents

require 'test_helper'

class ActiveRecordTest < ActiveSupport::TestCase
  fixtures :all

  def test_basic
    projects = Project.all
    assembler = ProjectAssembler.new(projects)

    data = nil
    assert_queries 5 do
      data = assembler.data
    end

    assert data.is_a?(Array)
    data.each do |item|
      assert item.is_a?(Hash)
    end
  end

  def test_can_preload
    projects = Project.all
    assembler = ProjectPreloadAssembler.new(projects)

    data = nil
    assert_queries 3 do
      data = assembler.data
    end

    assert data.is_a?(Array)
    data.each do |item|
      assert item.is_a?(Hash)
    end
  end

  def test_can_preload_with_mixin
    projects = Project.all
    assembler = ProjectPreloadIncludedAssembler.new(projects)

    data = nil
    assert_queries 3 do
      data = assembler.data
    end

    assert data.is_a?(Array)
    data.each do |item|
      assert item.is_a?(Hash)
    end
  end

  def test_can_use_ids
    project_ids = Project.all.pluck(:id)
    assembler = ProjectIdAssembler.new(project_ids)

    data = nil
    assert_queries 4 do
      data = assembler.data
    end

    assert data.is_a?(Array)
    data.each do |item|
      assert item.is_a?(Hash)
    end
  end

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
autobots-0.2.3 test/active_record_test.rb
autobots-0.2.2 test/active_record_test.rb
autobots-0.2.1 test/active_record_test.rb
autobots-0.2.0 test/active_record_test.rb
autobots-0.1.0 test/active_record_test.rb
autobots-0.0.1 test/active_record_test.rb