# frozen_string_literal: true
require "test_helper"
require "backend_sgx"
BackendSgx::IQ_MANAGER = Minitest::Mock.new
class BackendSgxTest < Minitest::Test
def setup
@sgx = BackendSgx.new("test")
end
def test_registered
BackendSgx::IQ_MANAGER.expect(
:write,
EMPromise.resolve(IBR.new.tap { |ibr| ibr.registered = true }),
[Matching.new do |ibr|
assert_equal :get, ibr.type
assert_equal "customer_test@component", ibr.from.to_s
end]
)
assert @sgx.registered?.sync
end
em :test_registered
def test_registered_not_registered
BackendSgx::IQ_MANAGER.expect(
:write,
EMPromise.resolve(IBR.new.tap { |ibr| ibr.registered = false }),
[Matching.new do |ibr|
assert_equal :get, ibr.type
assert_equal "customer_test@component", ibr.from.to_s
end]
)
refute @sgx.registered?.sync
end
em :test_registered_not_registered
def test_register!
BackendSgx::IQ_MANAGER.expect(
:write,
EMPromise.resolve(OpenStruct.new(error?: false)),
[Matching.new do |ibr|
assert_equal "customer_test@component", ibr.from.to_s
assert_equal "test_bw_account", ibr.nick
assert_equal "test_bw_user", ibr.username
assert_equal "test_bw_password", ibr.password
assert_equal "+15555550000", ibr.phone
end]
)
@sgx.register!("+15555550000")
BackendSgx::IQ_MANAGER.verify
end
end