mirror of
https://github.com/neocities/neocities.git
synced 2025-04-25 01:32:36 +02:00
34 lines
966 B
Ruby
34 lines
966 B
Ruby
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
|