|
14 | 14 | data = File.read(File.join("spec", "fixtures", "user.json"))
|
15 | 15 | JSON.parse(data, symbolize_names: true)
|
16 | 16 | end
|
| 17 | + let(:numeric_key_user) do |
| 18 | + data = File.read(File.join("spec", "fixtures", "numeric_key_user.json")) |
| 19 | + JSON.parse(data, symbolize_names: true) |
| 20 | + end |
| 21 | + let(:sanitized_numeric_key_user) do |
| 22 | + data = File.read(File.join("spec", "fixtures", "sanitized_numeric_key_user.json")) |
| 23 | + JSON.parse(data, symbolize_names: true) |
| 24 | + end |
17 | 25 |
|
18 | 26 | context 'user flag settings' do
|
19 | 27 | describe '#update_user_flag_setting' do
|
|
85 | 93 | result = client.toggle?(feature[:key], nil, "default")
|
86 | 94 | expect(result).to eq "default"
|
87 | 95 | end
|
| 96 | + it "sanitizes the user in the event" do |
| 97 | + expect(client).to receive(:add_event).with(hash_including(user: sanitized_numeric_key_user)) |
| 98 | + client.toggle?(feature[:key], numeric_key_user, "default") |
| 99 | + end |
88 | 100 | it "returns value from streamed flag if available" do
|
89 | 101 | expect(client.instance_variable_get(:@config)).to receive(:stream?).and_return(true).twice
|
90 | 102 | expect(client.instance_variable_get(:@stream_processor)).to receive(:started?).and_return true
|
|
103 | 115 | end
|
104 | 116 | end
|
105 | 117 |
|
| 118 | + describe '#identify' do |
| 119 | + it "queues up an identify event" do |
| 120 | + expect(client).to receive(:add_event).with(hash_including(kind: "identify", key: user[:key], user: user)) |
| 121 | + client.identify(user) |
| 122 | + end |
| 123 | + it "sanitizes the user in the event" do |
| 124 | + expect(client).to receive(:add_event).with(hash_including(user: sanitized_numeric_key_user)) |
| 125 | + client.identify(numeric_key_user) |
| 126 | + end |
| 127 | + end |
| 128 | + |
| 129 | + describe '#track' do |
| 130 | + it "queues up an custom event" do |
| 131 | + expect(client).to receive(:add_event).with(hash_including(kind: "custom", key: "custom_event_name", user: user, data: 42)) |
| 132 | + client.track("custom_event_name", user, 42) |
| 133 | + end |
| 134 | + it "sanitizes the user in the event" do |
| 135 | + expect(client).to receive(:add_event).with(hash_including(user: sanitized_numeric_key_user)) |
| 136 | + client.track("custom_event_name", numeric_key_user, nil) |
| 137 | + end |
| 138 | + end |
| 139 | + |
106 | 140 | describe '#get_streamed_flag' do
|
107 | 141 | it "will not check the polled flag normally" do
|
108 | 142 | expect(client).to receive(:get_flag_stream).and_return true
|
|
0 commit comments