# 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