1# frozen_string_literal: true
2
3require "test_helper"
4require "cdr"
5
6class CDRTest < Minitest::Test
7 def test_for_inbound
8 cdr = CDR.for_inbound(
9 "test",
10 "from" => "+15551234567",
11 "startTime" => "2020-01-01T00:00:00Z",
12 "endTime" => "2020-01-01T01:00:00Z",
13 "callId" => "a_call",
14 "cause" => "hangup"
15 )
16 assert_equal cdr.cdr_id, "sgx-jmp/a_call"
17 assert_equal cdr.customer_id, "test"
18 assert_equal cdr.start, Time.parse("2020-01-01T00:00:00Z")
19 assert_equal cdr.billsec, 60 * 60
20 assert_equal cdr.disposition, "ANSWERED"
21 assert_equal cdr.tel, "+15551234567"
22 assert_equal cdr.direction, :inbound
23 end
24
25 def test_for_outbound
26 cdr = CDR.for_outbound(
27 "test",
28 "to" => "+15551234567",
29 "from" => "+test",
30 "startTime" => "2020-01-01T00:00:00Z",
31 "endTime" => "2020-01-01T01:00:00Z",
32 "callId" => "a_call",
33 "cause" => "hangup"
34 )
35 assert_equal cdr.cdr_id, "sgx-jmp/a_call"
36 assert_equal cdr.customer_id, "test"
37 assert_equal cdr.start, Time.parse("2020-01-01T00:00:00Z")
38 assert_equal cdr.billsec, 60 * 60
39 assert_equal cdr.disposition, "ANSWERED"
40 assert_equal cdr.tel, "+15551234567"
41 assert_equal cdr.direction, :outbound
42 end
43end