Skip to content

Commit 0e743fc

Browse files
authored
[rb] add missing unit tests (#17025)
1 parent f319314 commit 0e743fc

File tree

3 files changed

+28
-68
lines changed

3 files changed

+28
-68
lines changed

rb/lib/selenium/webdriver/bidi/network/cookies.rb

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,13 @@ class BiDi
2727
class Cookies < Hash
2828
def as_json
2929
map do |name, val|
30-
self[:name] = name.to_s
31-
self[:value] = {type: 'string', value: val.to_s}
32-
33-
[compact]
30+
{
31+
name: name.to_s,
32+
value: {
33+
type: 'string',
34+
value: val.to_s
35+
}
36+
}
3437
end
3538
end
3639
end
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
load("//rb/spec:tests.bzl", "rb_unit_test")
2+
3+
[
4+
rb_unit_test(
5+
name = file[:-8],
6+
srcs = [file],
7+
deps = ["//rb/lib/selenium/webdriver:bidi"],
8+
)
9+
for file in glob(["*_spec.rb"])
10+
]

rb/spec/unit/selenium/webdriver/bidi/cookies_spec.rb

Lines changed: 11 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -24,76 +24,23 @@ module Selenium
2424
module WebDriver
2525
class BiDi
2626
describe Cookies do
27-
it 'returns the cookies as json' do
28-
cookies = described_class.new
29-
cookies['key4'] = 'value4'
30-
cookies['session_id'] = 'xyz123'
31-
32-
formatted_cookies = cookies.as_json
33-
expect(formatted_cookies).to be_an(Array)
34-
expect(formatted_cookies.first['key4']).to eq('value4')
35-
expect(formatted_cookies.first['session_id']).to eq('xyz123')
36-
end
27+
let(:cookies) { described_class.new }
3728

38-
it 'serializes the cookies needed for request' do
39-
cookies =
40-
described_class.new(
41-
{
42-
name: 'test',
43-
value: 'value4',
44-
domain: 'example.com',
45-
path: '/path',
46-
size: 1234,
47-
httpOnly: true,
48-
secure: true,
49-
sameSite: 'Strict',
50-
expiry: 1234
51-
}
52-
)
29+
it 'returns cookies formatted as json' do
30+
cookies['session_id'] = 'xyz123'
31+
cookies['user_pref'] = 'dark_mode'
5332

5433
formatted_cookies = cookies.as_json
5534
expect(formatted_cookies).to be_an(Array)
56-
expect(formatted_cookies.size).to eq(1)
57-
58-
request_cookies = formatted_cookies.first
59-
expect(request_cookies[:name]).to eq('test')
60-
expect(request_cookies[:value][:type]).to eq('string')
61-
expect(request_cookies[:value][:value]).to eq('value4')
62-
expect(request_cookies[:domain]).to eq('example.com')
63-
expect(request_cookies[:path]).to eq('/path')
64-
expect(request_cookies[:expiry]).to eq(1234)
65-
expect(request_cookies[:httpOnly]).to be(true)
66-
expect(request_cookies[:secure]).to be(true)
67-
expect(request_cookies[:sameSite]).to eq('Strict')
68-
expect(request_cookies[:size]).to eq(1234)
69-
end
35+
expect(formatted_cookies.size).to eq(2)
7036

71-
it 'serializes the cookies needed for response' do
72-
cookies = described_class.new({
73-
name: 'test',
74-
value: 'bar',
75-
domain: 'localhost',
76-
httpOnly: true,
77-
expiry: '1_000_000',
78-
maxAge: 1_000,
79-
path: '/',
80-
sameSite: 'lax',
81-
secure: false
82-
})
37+
session_cookie = formatted_cookies.find { |c| c[:name] == 'session_id' }
38+
expect(session_cookie).not_to be_nil
39+
expect(session_cookie[:value]).to eq({type: 'string', value: 'xyz123'})
8340

84-
formatted_cookies = cookies.as_json
85-
expect(formatted_cookies).to be_an(Array)
86-
expect(formatted_cookies.size).to eq(1)
87-
response_cookies = formatted_cookies.first
88-
expect(response_cookies[:value][:type]).to eq('string')
89-
expect(response_cookies[:value][:value]).to eq('bar')
90-
expect(response_cookies[:domain]).to eq('localhost')
91-
expect(response_cookies[:path]).to eq('/')
92-
expect(response_cookies[:expiry]).to eq('1_000_000')
93-
expect(response_cookies[:httpOnly]).to be(true)
94-
expect(response_cookies[:secure]).to be(false)
95-
expect(response_cookies[:sameSite]).to eq('lax')
96-
expect(response_cookies[:maxAge]).to eq(1_000)
41+
pref_cookie = formatted_cookies.find { |c| c[:name] == 'user_pref' }
42+
expect(pref_cookie).not_to be_nil
43+
expect(pref_cookie[:value]).to eq({type: 'string', value: 'dark_mode'})
9744
end
9845
end
9946
end

0 commit comments

Comments
 (0)