/
event_handler_spec.cr
72 lines (56 loc) · 4.75 KB
/
event_handler_spec.cr
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
require "../spec_helper"
describe EventHandler do
before_each do
AddClickhouse.clean_database
end
after_each do
AddClickhouse.clean_database
end
it "is current session" do
user_id = "event1212461"
AddClickhouse.session_insert(user_id: user_id, length: nil, is_bounce: 1, referrer: "indiehacker.com", url: "https://kindmetrics.com/aaadsad", referrer_source: "indiehacker.com", path: "/asadasd", device: "Desktop", operative_system: "Mac OS", referrer_domain: "indiehacker.com", browser_name: "Chrome", country: "SE", domain_id: DomainBox.create.id)
session = AddClickhouse.get_session(user_id)
AddClickhouse.event_insert(session_id: session.not_nil!.id, name: "pageview", user_id: user_id, referrer: "indiehacker.com", url: "https://kindmetrics.com/aaadsad", referrer_source: "indiehacker.com", path: "/asadasd", device: "Desktop", operative_system: "Mac OS", referrer_domain: "indiehacker.com", browser_name: "Chrome", country: "SE", domain_id: session.not_nil!.domain_id)
response = EventHandler.is_current_session?(user_id)
response.should eq(true)
end
it "is current session with events" do
id = Random.new.rand(Int64)
user_id = "event12332112"
AddClickhouse.session_insert(user_id: user_id, length: nil, is_bounce: 1, referrer: "indiehacker.com", url: "https://kindmetrics.com/aaadsad", referrer_source: "indiehacker.com", path: "/asadasd", device: "Desktop", operative_system: "Mac OS", referrer_domain: "indiehacker.com", browser_name: "Chrome", country: "SE", domain_id: DomainBox.create.id)
session = AddClickhouse.get_session(user_id)
AddClickhouse.event_insert(session_id: session.not_nil!.id, name: "pageview", user_id: user_id, referrer: "indiehacker.com", url: "https://kindmetrics.com/aaadsad", referrer_source: "indiehacker.com", path: "/asadasd", device: "Desktop", operative_system: "Mac OS", referrer_domain: "indiehacker.com", browser_name: "Chrome", country: "SE", domain_id: session.not_nil!.domain_id)
response = EventHandler.is_current_session?(user_id)
response.should eq(true)
end
it "is old session" do
user_id = "event3463421"
AddClickhouse.session_insert(user_id: user_id, length: nil, is_bounce: 1, referrer: "indiehacker.com", url: "https://kindmetrics.com/aaadsad", referrer_source: "indiehacker.com", path: "/asadasd", device: "Desktop", operative_system: "Mac OS", referrer_domain: "indiehacker.com", browser_name: "Chrome", country: "SE", domain_id: DomainBox.create.id, created_at: 80.minutes.ago)
session = AddClickhouse.get_session(user_id)
response = EventHandler.is_current_session?(session.not_nil!.user_id)
response.should eq(false)
end
it "is current session with events" do
user_id = "event8673353"
EventHandler.create_session(user_id: user_id, name: "pageview", length: 0, is_bounce: 1, referrer: "indiehacker.com", url: "https://kindmetrics.com/aaadsad", referrer_source: "indiehacker.com", path: "/asadasd", device: "Desktop", operative_system: "Mac OS", referrer_domain: "indiehacker.com", browser_name: "Chrome", country: "SE", domain_id: DomainBox.create.id)
session = AddClickhouse.get_session(user_id)
response = EventHandler.is_current_session?(user_id)
response.should eq(false)
end
it "already done session" do
user_id = "event78945322"
AddClickhouse.session_insert(user_id: user_id, length: 23.to_i64, is_bounce: 1, referrer: "indiehacker.com", url: "https://kindmetrics.com/aaadsad", referrer_source: "indiehacker.com", path: "/asadasd", device: "Desktop", operative_system: "Mac OS", referrer_domain: "indiehacker.com", browser_name: "Chrome", country: "SE", domain_id: DomainBox.create.id, created_at: 80.minutes.ago)
session = AddClickhouse.get_session(user_id)
AddClickhouse.event_insert(session_id: session.not_nil!.id, name: "pageview", user_id: user_id, referrer: "indiehacker.com", url: "https://kindmetrics.com/aaadsad", referrer_source: "indiehacker.com", path: "/asadasd", device: "Desktop", operative_system: "Mac OS", referrer_domain: "indiehacker.com", browser_name: "Chrome", country: "SE", domain_id: session.not_nil!.domain_id)
response = EventHandler.is_current_session?(user_id)
response.should eq(false)
end
it "add event to current session" do
domain = DomainBox.create
user_id = "event679831441"
EventHandler.create_session(user_id: user_id, name: "pageview", referrer: "https://indiehackers.com/amazing", referrer_domain: "indiehackers.com", url: "https://test.com/test/rrr", path: "/test/rrr", referrer_source: nil, device: "Android", browser_name: "Chrome", operative_system: "Android", country: "SE", length: nil, is_bounce: 0, domain_id: domain.id)
session = AddClickhouse.get_session(user_id)
events = AddClickhouse.get_last_event(session.not_nil!)
events.size.should eq(1)
end
end