Repository navigation
Expand file tree
/
Copy pathredis_interface_spec.rb
More file actions
111 lines (95 loc) · 2.93 KB
/
Copy pathredis_interface_spec.rb
File metadata and controls
111 lines (95 loc) · 2.93 KB
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
require 'spec_helper'
describe Split::RedisInterface do
let(:list_name) { 'list_name' }
let(:set_name) { 'set_name' }
let(:interface) { described_class.new }
describe '#persist_list' do
subject(:persist_list) do
interface.persist_list(list_name, %w(a b c d))
end
specify do
expect(persist_list).to eq %w(a b c d)
expect(Split.redis.lindex(list_name, 0)).to eq 'a'
expect(Split.redis.lindex(list_name, 1)).to eq 'b'
expect(Split.redis.lindex(list_name, 2)).to eq 'c'
expect(Split.redis.lindex(list_name, 3)).to eq 'd'
expect(Split.redis.llen(list_name)).to eq 4
end
context 'list is overwritten but not deleted' do
specify do
expect(persist_list).to eq %w(a b c d)
interface.persist_list(list_name, ['z'])
expect(Split.redis.lindex(list_name, 0)).to eq 'z'
expect(Split.redis.llen(list_name)).to eq 1
end
end
end
describe '#add_to_list' do
subject(:add_to_list) do
interface.add_to_list(list_name, 'y')
interface.add_to_list(list_name, 'z')
end
specify do
add_to_list
expect(Split.redis.lindex(list_name, 0)).to eq 'y'
expect(Split.redis.lindex(list_name, 1)).to eq 'z'
expect(Split.redis.llen(list_name)).to eq 2
end
end
describe '#set_list_index' do
subject(:set_list_index) do
interface.add_to_list(list_name, 'y')
interface.add_to_list(list_name, 'z')
interface.set_list_index(list_name, 0, 'a')
end
specify do
set_list_index
expect(Split.redis.lindex(list_name, 0)).to eq 'a'
expect(Split.redis.lindex(list_name, 1)).to eq 'z'
expect(Split.redis.llen(list_name)).to eq 2
end
end
describe '#list_length' do
subject(:list_length) do
interface.add_to_list(list_name, 'y')
interface.add_to_list(list_name, 'z')
interface.list_length(list_name)
end
specify do
expect(list_length).to eq 2
end
end
describe '#remove_last_item_from_list' do
subject(:remove_last_item_from_list) do
interface.add_to_list(list_name, 'y')
interface.add_to_list(list_name, 'z')
interface.remove_last_item_from_list(list_name)
end
specify do
remove_last_item_from_list
expect(Split.redis.lindex(list_name, 0)).to eq 'y'
expect(Split.redis.llen(list_name)).to eq 1
end
end
describe '#make_list_length' do
subject(:make_list_length) do
interface.add_to_list(list_name, 'y')
interface.add_to_list(list_name, 'z')
interface.make_list_length(list_name, 1)
end
specify do
make_list_length
expect(Split.redis.lindex(list_name, 0)).to eq 'y'
expect(Split.redis.llen(list_name)).to eq 1
end
end
describe '#add_to_set' do
subject(:add_to_set) do
interface.add_to_set(set_name, 'something')
end
specify do
add_to_set
expect(Split.redis.sismember(set_name, 'something')).to be true
end
end
end