Sha256: 71e22ec9965357f9b25c90118757a65690a69148917ea3b7a6aa73bf110be710
Contents?: true
Size: 1.83 KB
Versions: 1
Compression:
Stored size: 1.83 KB
Contents
module RearTest__CRUD class App < E include Rear model Book end Spec.new App do orm = RearORM.new(app.model, app.pkey) Should 'create new item' do name, about = random_string, random_string post :crud, name: name, about: about is(last_response).ok? id = last_response.body.to_i item = orm[id] check(item).instance_of?(app.model) expect(item.id) == id expect(item.name.to_s) == name expect(item.about.to_s) == about Then 'update it' do new_name = random_string put :crud, id, name: new_name is(last_response).ok? item.reload refute(item.name.to_s) == name check(item.name.to_s) == new_name end And 'finally delete it' do delete :crud, id is(last_response).ok? item = app[id] is(item).nil? end end Testing 'multiple delete' do ids = (1..10).inject([]) {|f,c| post(:crud); f << last_response.body.to_i} expect(ids.size) == 10 items = orm.filter(conditions: {app.pkey => ids}) expect(items.size) == ids.size delete :delete_selected, items: ids.join(' ') is(last_response).ok? items = orm.filter(conditions: {app.pkey => ids}) expect(items.size) == 0 end end class ReadOnlyBook < E include Rear model Book readonly! end Spec.new ReadOnlyBook do book, book_id = new_book Should 'Prohibit items creation' do name, about = random_string, random_string post :crud, name: name, about: about is(last_response).readonly_error? end Should 'prohibit updates' do put :crud, book_id, name: random_string is(last_response).readonly_error? end Should 'prohibit deletion' do delete :crud, book_id is(last_response).readonly_error? end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rear-0.2.0 | test/test__crud.rb |