-
Notifications
You must be signed in to change notification settings - Fork 0
4.2.1 アプリケーションをテストする
k2works edited this page Feb 15, 2016
·
2 revisions
./spec/todo_spec.rb
- it 'does something useful' do
- expect(false).to eq(true)
+ it 'やることが登録できる' do
+ Todo::DB.prepare
+ params = {name:'test',content:'contents'}
+ Todo::Task.create!(name: params[:name], content: params[:content])
+ expect(Todo::Task.all.count).to eq(1)
end
end
./spec/todo_spec.rb
it 'やることが登録できる' do
Todo::DB.prepare
params = {name:'test',content:'contents'}
+ Todo::Task.where(params).delete_all
Todo::Task.create!(name: params[:name], content: params[:content])
expect(Todo::Task.all.count).to eq(1)
end
./spec/todo_spec.rb
+ it 'やることが検索できる' do
+ Todo::DB.prepare
+ params = {name:'test',content:'contents'}
+ Todo::Task.where(params).delete_all
+ Todo::Task.create!(name: params[:name], content: params[:content])
+ id = Todo::Task.where(params)[0].id
+ task = Todo::Task.find(id)
+ expect(task.name).to eq('test')
+ end
+
+ it 'やることが更新できる' do
+ Todo::DB.prepare
+ params = {name:'test',content:'contents'}
+ Todo::Task.where(params).delete_all
+ Todo::Task.create!(name: params[:name], content: params[:content])
+ id = Todo::Task.where(params)[0].id
+ task = Todo::Task.find(id)
+ task.name = 'test2'
+ task.save
+ expect(task.name).to eq('test2')
+ Todo::Task.where(name:'test2').delete_all
+ end
+
+ it 'やることが削除できる' do
+ Todo::DB.prepare
+ params = {name:'test',content:'contents'}
+ Todo::Task.where(params).delete_all
+ Todo::Task.create!(name: params[:name], content: params[:content])
+ Todo::Task.where(params).delete_all
+ expect(Todo::Task.all.count).to eq(0)
+ end
./spec/todo_spec.rb
+ describe 'DB' do
it 'やることが登録できる' do
Todo::DB.prepare
params = {name:'test',content:'contents'}
Todo::Task.where(params).delete_all
Todo::Task.create!(name: params[:name], content: params[:content])
expect(Todo::Task.all.count).to eq(1)
end
it 'やることが検索できる' do
Todo::DB.prepare
params = {name:'test',content:'contents'}
Todo::Task.where(params).delete_all
Todo::Task.create!(name: params[:name], content: params[:content])
id = Todo::Task.where(params)[0].id
task = Todo::Task.find(id)
expect(task.name).to eq('test')
end
it 'やることが更新できる' do
Todo::DB.prepare
params = {name:'test',content:'contents'}
Todo::Task.where(params).delete_all
Todo::Task.create!(name: params[:name], content: params[:content])
id = Todo::Task.where(params)[0].id
task = Todo::Task.find(id)
task.name = 'test2'
task.save
expect(task.name).to eq('test2')
Todo::Task.where(name:'test2').delete_all
end
it 'やることが削除できる' do
Todo::DB.prepare
params = {name:'test',content:'contents'}
Todo::Task.where(params).delete_all
Todo::Task.create!(name: params[:name], content: params[:content])
Todo::Task.where(params).delete_all
expect(Todo::Task.all.count).to eq(0)
end
+ end
./spec/todo_spec.rb
- describe 'DB' do
- it 'やることが登録できる' do
+ describe 'Task' do
+ before(:each) do
Todo::DB.prepare
- params = {name:'test',content:'contents'}
- Todo::Task.where(params).delete_all
- Todo::Task.create!(name: params[:name], content: params[:content])
+ @params = {name:'test',content:'contents'}
+ Todo::Task.create!(name: @params[:name], content: @params[:content])
+ end
+
+ after(:each) do
+ Todo::Task.where(@params).delete_all
+ end
+
+ it 'やることが登録できる' do
expect(Todo::Task.all.count).to eq(1)
end
it 'やることが検索できる' do
- Todo::DB.prepare
- params = {name:'test',content:'contents'}
- Todo::Task.where(params).delete_all
- Todo::Task.create!(name: params[:name], content: params[:content])
- id = Todo::Task.where(params)[0].id
+ id = Todo::Task.where(@params)[0].id
task = Todo::Task.find(id)
expect(task.name).to eq('test')
end
it 'やることが更新できる' do
- Todo::DB.prepare
- params = {name:'test',content:'contents'}
- Todo::Task.where(params).delete_all
- Todo::Task.create!(name: params[:name], content: params[:content])
- id = Todo::Task.where(params)[0].id
+ id = Todo::Task.where(@params)[0].id
task = Todo::Task.find(id)
task.name = 'test2'
task.save
expect(task.name).to eq('test2')
Todo::Task.where(name:'test2').delete_all
end
it 'やることが削除できる' do
- Todo::DB.prepare
- params = {name:'test',content:'contents'}
- Todo::Task.where(params).delete_all
- Todo::Task.create!(name: params[:name], content: params[:content])
- Todo::Task.where(params).delete_all
+ id = Todo::Task.where(@params)[0].id
+ task = Todo::Task.find(id)
+ task.destroy
expect(Todo::Task.all.count).to eq(0)
end
end
./spec/todo_spec.rb
+ context 'やることが登録されている場合' do
+ it '初期値はNOT_YETである' do
+ expect(Todo::Task.where(@params)[0].status_name).to eq('NOT_YET')
+ end
+
+ it 'やりかけのタスクはPENDINGである' do
+ id = Todo::Task.where(@params)[0].id
+ wip = Todo::Task.find(id)
+ wip.status = Todo::Task::PENDING
+ wip.save
+ expect(Todo::Task.where(@params)[0].status_name).to eq('PENDING')
+ end
+
+ it '完了したタスクはDONEである' do
+ id = Todo::Task.where(@params)[0].id
+ wip = Todo::Task.find(id)
+ wip.status = Todo::Task::DONE
+ wip.save
+ expect(Todo::Task.where(@params)[0].status_name).to eq('DONE')
+ end
+
+ end
./lib/todo/task.rb
# ステータスの名称と数値の組み合わせの値
STATUS = {
- 'NOT_YET' => NOT_YET,
- 'DONE' => DONE,
- 'PENDING' => PENDING
+ '未完了' => NOT_YET,
+ '完了' => DONE,
+ 'ペンディング' => PENDING
}.freeze
./spec/todo_spec.rb
context 'やることが登録されている場合' do
- it '初期値はNOT_YETである' do
- expect(Todo::Task.where(@params)[0].status_name).to eq('NOT_YET')
+ it '初期値は' do
+ expect(Todo::Task.where(@params)[0].status_name).to eq('未完了')
end
- it 'やりかけのタスクはPENDINGである' do
+ it 'やりかけのタスクは' do
id = Todo::Task.where(@params)[0].id
wip = Todo::Task.find(id)
wip.status = Todo::Task::PENDING
wip.save
- expect(Todo::Task.where(@params)[0].status_name).to eq('PENDING')
+ expect(Todo::Task.where(@params)[0].status_name).to eq('ペンディング')
end
- it '完了したタスクはDONEである' do
+ it '完了したタスクは' do
id = Todo::Task.where(@params)[0].id
wip = Todo::Task.find(id)
wip.status = Todo::Task::DONE
wip.save
- expect(Todo::Task.where(@params)[0].status_name).to eq('DONE')
+ expect(Todo::Task.where(@params)[0].status_name).to eq('完了')
end
end
./spec/todo_spec.rb
it 'やることが登録できる' do
- expect(Todo::Task.all.count).to eq(1)
+ expect(Todo::Task.where(@params).count).to eq(1)
end
it 'やることが検索できる' do
id = Todo::Task.where(@params)[0].id
task = Todo::Task.find(id)
expect(task.name).to eq('test')
end
it 'やることが更新できる' do
id = Todo::Task.where(@params)[0].id
task = Todo::Task.find(id)
task.name = 'test2'
task.save
expect(task.name).to eq('test2')
- Todo::Task.where(name:'test2').delete_all
+ task.name = 'test'
+ task.save
end
it 'やることが削除できる' do
id = Todo::Task.where(@params)[0].id
task = Todo::Task.find(id)
task.destroy
- expect(Todo::Task.all.count).to eq(0)
+ expect(Todo::Task.where(@params).count).to eq(0)
end