/
hset_spec.rb
42 lines (33 loc) · 1.02 KB
/
hset_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
require 'spec_helper'
describe '#hset(key, field)' do
before do
@key = 'mock-redis-test:hset'
end
it 'returns 1 if the key does not exist' do
@redises.hset(@key, 'k1', 'v1').should == 1
end
it 'returns 1 if the key exists but the field does not' do
@redises.hset(@key, 'k1', 'v1')
@redises.hset(@key, 'k2', 'v2').should == 1
end
it 'returns 0 if the field already exists' do
@redises.hset(@key, 'k1', 'v1')
@redises.hset(@key, 'k1', 'v1').should == 0
end
it 'creates a hash there is no such field' do
@redises.hset(@key, 'k1', 'v1')
@redises.hget(@key, 'k1').should == 'v1'
end
it 'stores values as strings' do
@redises.hset(@key, 'num', 1)
@redises.hget(@key, 'num').should == '1'
end
it 'stores fields as strings' do
@redises.hset(@key, 1, 'one')
@redises.hget(@key, '1').should == 'one'
end
it 'stores fields sent in a hash' do
@redises.hset(@key, {'k1' => 'v1', 'k2' => 'v2'}).should == 2
end
it_should_behave_like 'a hash-only command'
end