2
0
mirror of https://github.com/koreader/koreader synced 2024-10-31 21:20:20 +00:00
koreader/spec/unit/networksetting_spec.lua

72 lines
2.2 KiB
Lua

describe("NetworkSetting module", function()
local NetworkSetting, NetworkMgr, UIManager
setup(function()
require("commonrequire")
UIManager = require("ui/uimanager")
NetworkSetting = require("ui/widget/networksetting")
NetworkMgr = require("ui/network/manager")
end)
it("should initilize properly with empty network list", function()
local ns = NetworkSetting:new{network_list = {}}
assert.is.falsy(ns.connected_item)
end)
it("should call connect_callback after disconnect", function()
stub(NetworkMgr, "disconnectNetwork")
stub(NetworkMgr, "releaseIP")
UIManager:quit()
local called = false
local network_list = {
{
ssid = "foo",
signal_level = -58,
flags = "[WPA2-PSK-CCMP][ESS]",
signal_quality = 84,
password = "123abc",
connected = true,
},
}
local ns = NetworkSetting:new{
network_list = network_list,
connect_callback = function() called = true end
}
ns.connected_item:disconnect()
assert.truthy(called)
NetworkMgr.disconnectNetwork:revert()
NetworkMgr.releaseIP:revert()
end)
it("should set connected_item to nil after disconnect", function()
stub(NetworkMgr, "disconnectNetwork")
stub(NetworkMgr, "releaseIP")
UIManager:quit()
local network_list = {
{
ssid = "foo",
signal_level = -58,
flags = "[WPA2-PSK-CCMP][ESS]",
signal_quality = 84,
password = "123abc",
connected = true,
},
{
ssid = "bar",
signal_level = -258,
signal_quality = 44,
flags = "[WEP][ESS]",
},
}
local ns = NetworkSetting:new{network_list = network_list}
assert.is.same("foo", ns.connected_item.info.ssid)
ns.connected_item:disconnect()
assert.is.falsy(ns.connected_item)
NetworkMgr.disconnectNetwork:revert()
NetworkMgr.releaseIP:revert()
end)
end)