test_cdr.rb

 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			"to" => "+15551234567",
28			"from" => "+test",
29			"startTime" => "2020-01-01T00:00:00Z",
30			"endTime" => "2020-01-01T01:00:00Z",
31			"callId" => "a_call",
32			"cause" => "hangup"
33		)
34		assert_equal cdr.cdr_id, "sgx-jmp/a_call"
35		assert_equal cdr.customer_id, "test"
36		assert_equal cdr.start, Time.parse("2020-01-01T00:00:00Z")
37		assert_equal cdr.billsec, 60 * 60
38		assert_equal cdr.disposition, "ANSWERED"
39		assert_equal cdr.tel, "+15551234567"
40		assert_equal cdr.direction, :outbound
41	end
42end