test/functional/cli.rb in mosql-0.1.1 vs test/functional/cli.rb in mosql-0.1.2
- old
+ new
@@ -54,6 +54,23 @@
'op' => 'd',
'o' => { '_id' => o['_id'] },
})
assert_equal(0, sequel[:sqltable].where(:_id => o['_id'].to_s).count)
end
+
+ it 'handle "u" ops with $set and BSON::ObjectIDs' do
+ o = { '_id' => BSON::ObjectId.new, 'var' => 17 }
+ @adapter.upsert_ns('mosql_test.collection', o)
+
+ # $set's are currently a bit of a hack where we read the object
+ # from the db, so make sure the new object exists in mongo
+ connect_mongo['mosql_test']['collection'].insert(o.merge('var' => 100),
+ :w => 1)
+
+ @cli.handle_op({ 'ns' => 'mosql_test.collection',
+ 'op' => 'u',
+ 'o2' => { '_id' => o['_id'] },
+ 'o' => { '$set' => { 'var' => 100 } },
+ })
+ assert_equal(100, sequel[:sqltable].where(:_id => o['_id'].to_s).select.first[:var])
+ end
end