测试类方法
describe 'Course Searcher' do
describe 'keyword is blank' do
let!(:course) { create :course, name: '测试课程名字', tags: '数学,语文,历史', released_at: Time.now }
let!(:course2) { create :course, name: '测试课程名字', tags: '数学,语文,历史', released_at: Time.now }
it { expect( Course.search(nil).size).to eq(2) }
end
describe 'query by course name' do
let!(:course) { create :course, name: '测试课程名字', released_at: Time.now }
context 'return courses when course is exist' do
it { expect( Course.search('测试课程名字').size).to eq(1) }
it { expect( Course.search('测试').size).to eq(1) }
it { expect( Course.search('名字').size).to eq(1) }
it { expect( Course.search('课程').size).to eq(1) }
end
context 'no result when course is not exist' do
it { expect( Course.search('故事').size).to_not eq(1) }
end
end
describe 'query by tag name' do
let!(:course) { create :course, tags: '数学,语文,历史', released_at: Time.now }
it { expect( Course.search('数学').size).to eq(1) }
it { expect( Course.search('语文').size).to eq(1) }
it { expect( Course.search('历史').size).to eq(1) }
it { expect( Course.search('历史 ').size).to eq(1) }
it { expect( Course.search(' 历史 ').size).to eq(1) }
end
describe 'query dot(.) etc' do
let!(:course) { create :course, tags: '数学,语文,历史' }
it { expect(Course.search('.').size).to eq(0)}
it { expect(Course.search('\\').size).to eq(0)}
end
end