Sha256: 9a9d59e6d22f3a1f7b9e163fe9eb87a040103a24b04364f8bc8247fb36da02c7

Contents?: true

Size: 1.44 KB

Versions: 2

Compression:

Stored size: 1.44 KB

Contents

require_relative '../../../spec_helper'

module Mysql
  describe AlterTableAddColumnParser do
    describe '#parse' do
      let(:query) { "" }
      subject { AlterTableAddColumnParser.new.parse(query) }

      context 'with normal alter table query' do
        let(:query) { "alter table test_table add column value varchar(26)" }
        it do
          expect(subject).to eq([{
            :subtype => :add_column,
            :table_name => "test_table",
            :column => {
              :name => "value",
              :type => "varchar(78)"
            }
          }])
        end
      end

      context 'with after option' do
        let(:query) { "alter table test_table add column value varchar(26) after id" }
        it do
          expect(subject).to eq([{
            :subtype => :add_column,
            :table_name => "test_table",
            :column => {
              :name => "value",
              :type => "varchar(78)",
              :after => "id"
            }
          }])
        end
      end

      context 'with first option' do
        let(:query) { "alter table test_table add column value varchar(26) first" }
        it do
          expect(subject).to eq([{
            :subtype => :add_column,
            :table_name => "test_table",
            :column => {
              :name => "value",
              :type => "varchar(78)",
              :position => :first
            }
          }])
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
flydata-0.1.9 spec/flydata/fluent-plugins/mysql/query_parser_spec.rb
flydata-0.1.8 spec/flydata/fluent-plugins/mysql/query_parser_spec.rb