require_relative './environment.rb' describe Tag do describe 'creation' do it 'should force downcase' do Tag.where(name: 'derp').delete Tag.create_unless_exists 'derp' Tag[name: 'derp'].wont_be_nil Tag.create_unless_exists 'DERP' Tag.filter(name: 'DERP').count.must_equal 0 Tag.filter(name: 'derp').count.must_equal 1 end it 'prohibits junk tags' do Tag.where(name: '').delete tag = Tag.create_unless_exists '' Tag.where(name: '').count.must_equal 0 end it 'strips tags' do badname = ' derp ' Tag.where(name: 'derp').delete Tag.create_unless_exists badname Tag[name: badname].must_be_nil Tag[name: badname.strip].wont_be_nil end it 'does not duplicate' do 2.times { Tag.create_unless_exists 'DERP' } Tag.where(name: 'DERP').count.must_equal 0 Tag.where(name: 'derp').count.must_equal 1 end end end