51 lines
1.9 KiB
Lua
51 lines
1.9 KiB
Lua
return function()
|
|
local PrivilegeSettingsStateReducer = require(script.Parent.PrivilegeSettingsState)
|
|
local Actions = script.Parent.Parent.Actions
|
|
|
|
local FetchPrivilegeSettings = require(Actions.FetchPrivilegeSettings)
|
|
local SetPrivilegeSettings = require(Actions.SetPrivilegeSettings)
|
|
|
|
describe("initial state", function()
|
|
it("should return an initial table when passed nil", function()
|
|
local state = PrivilegeSettingsStateReducer(nil, {})
|
|
expect(state).to.be.a("table")
|
|
end)
|
|
end)
|
|
|
|
describe("Action FetchPrivilegeSettings", function()
|
|
it("should set isRequesting to true in the store", function()
|
|
local action = FetchPrivilegeSettings()
|
|
local state = PrivilegeSettingsStateReducer({}, action)
|
|
|
|
expect(state).to.be.a("table")
|
|
expect(state.isRequesting).to.equal(true)
|
|
end)
|
|
end)
|
|
|
|
describe("Action SetPrivilegeSettings", function()
|
|
it("should set privilege settings, lastUpdated and reset isRequesting to false in the store", function()
|
|
local action = SetPrivilegeSettings({Multiplayer = {}, SharedContent = {}, timestamp = tick()})
|
|
local state = PrivilegeSettingsStateReducer({}, action)
|
|
|
|
expect(state).to.be.a("table")
|
|
expect(state.Multiplayer).to.be.a("table")
|
|
expect(state.SharedContent).to.be.a("table")
|
|
expect(state.lastUpdated).to.be.a("number")
|
|
expect(state.isRequesting).to.equal(false)
|
|
end)
|
|
|
|
it("should set privilege settings, lastUpdated to nil and reset isRequesting to nil when SetPrivilegeSettings with nil", function()
|
|
local action = SetPrivilegeSettings({Multiplayer = {}, SharedContent = {}, timestamp = tick()})
|
|
local state = PrivilegeSettingsStateReducer({}, action)
|
|
|
|
action = SetPrivilegeSettings()
|
|
state = PrivilegeSettingsStateReducer(state, action)
|
|
|
|
expect(state).to.be.a("table")
|
|
expect(state.Multiplayer).never.to.be.ok()
|
|
expect(state.SharedContent).never.to.be.ok()
|
|
expect(state.lastUpdated).never.to.be.ok()
|
|
expect(state.isRequesting).never.to.be.ok()
|
|
end)
|
|
end)
|
|
end |