1# frozen_string_literal: true
2
3require "test_helper"
4require "customer_ogm"
5
6class CustomerOGMTest < Minitest::Test
7 def test_for_url
8 assert_kind_of(
9 CustomerOGM::Media,
10 CustomerOGM.for("https://example.com/test.mp3", -> {})
11 )
12 end
13
14 def test_for_no_url
15 assert_kind_of(
16 CustomerOGM::TTS,
17 CustomerOGM.for(nil, -> { EMPromise.resolve(nil) }).sync
18 )
19 end
20 em :test_for_no_url
21
22 class TTSTest < Minitest::Test
23 def test_to_render_empty_vcard
24 vcard = Blather::Stanza::Iq::Vcard::Vcard.new
25 assert_equal(
26 [:voicemail_ogm_tts, { locals: { fn: "a user of JMP.chat" } }],
27 CustomerOGM::TTS.new(vcard).to_render
28 )
29 end
30
31 def test_to_render_fn
32 vcard = Blather::Stanza::Iq::Vcard::Vcard.new
33 vcard["FN"] = "name"
34 assert_equal(
35 [:voicemail_ogm_tts, { locals: { fn: "name" } }],
36 CustomerOGM::TTS.new(vcard).to_render
37 )
38 end
39
40 def test_to_render_nickname
41 vcard = Blather::Stanza::Iq::Vcard::Vcard.new
42 vcard["NICKNAME"] = "name"
43 assert_equal(
44 [:voicemail_ogm_tts, { locals: { fn: "name" } }],
45 CustomerOGM::TTS.new(vcard).to_render
46 )
47 end
48 end
49end