Sha256: fe5339b1d488dd69c4422fd4f43d795d07e52008f7d9d332f545a629d9fe0e33

Contents?: true

Size: 1.09 KB

Versions: 2

Compression:

Stored size: 1.09 KB

Contents

# frozen_string_literal: true

require 'spec_helper'

describe Magicka::Input do
  let(:renderer) { instance_double('renderer') }
  let(:template) { 'templates/forms/input' }

  let(:model)       { :my_model }
  let(:field)       { :field }
  let(:label)       { 'Label' }
  let(:placeholder) { 'Value' }

  let(:locals) do
    {
      field: field,
      label: label,
      ng_errors: 'my_model.errors.field',
      ng_model: 'my_model.field',
      placeholder: placeholder
    }
  end

  describe '.render' do
    let(:arguments) do
      {
        renderer: renderer,
        field: field,
        label: label,
        placeholder: placeholder,
        model: model
      }
    end

    before do
      allow(renderer)
        .to receive(:render)
        .with(partial: template, locals: locals)
    end

    it do
      described_class.render(**arguments)

      expect(renderer).to have_received(:render)
    end

    context 'when called with extra params' do
      it do
        described_class.render(name: 'Name', **arguments)

        expect(renderer).to have_received(:render)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
magicka-1.1.0 spec/lib/magicka/input_spec.rb
magicka-1.0.0 spec/lib/magicka/input_spec.rb