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