fix: keep learner mode live
This commit is contained in:
@@ -267,6 +267,9 @@ function QuestieOptions.tabs.database:Initialize()
|
|||||||
if Questie.dbLearner.global and Questie.dbLearner.global.settings then
|
if Questie.dbLearner.global and Questie.dbLearner.global.settings then
|
||||||
Questie.dbLearner.global.settings.dataSourceMode = v
|
Questie.dbLearner.global.settings.dataSourceMode = v
|
||||||
Questie.dbLearner.global.settings.prioritizeMyData = (v ~= "static" and v ~= "none")
|
Questie.dbLearner.global.settings.prioritizeMyData = (v ~= "static" and v ~= "none")
|
||||||
|
if v == "learner" then
|
||||||
|
Questie.dbLearner.global.settings.enabled = true
|
||||||
|
end
|
||||||
ApplyLearnerMode()
|
ApplyLearnerMode()
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
|||||||
@@ -510,6 +510,10 @@ end
|
|||||||
|
|
||||||
function QuestieLearner:ApplyDataSourceMode()
|
function QuestieLearner:ApplyDataSourceMode()
|
||||||
if not EnsureLearnedData() then return end
|
if not EnsureLearnedData() then return end
|
||||||
|
local settings = Questie.dbLearner and Questie.dbLearner.global and Questie.dbLearner.global.settings
|
||||||
|
if settings and GetDataSourceMode() == "learner" and settings.enabled == false then
|
||||||
|
settings.enabled = true
|
||||||
|
end
|
||||||
CaptureStaticOverrideSnapshot()
|
CaptureStaticOverrideSnapshot()
|
||||||
RestoreStaticOverridesForMode()
|
RestoreStaticOverridesForMode()
|
||||||
self:InjectLearnedData()
|
self:InjectLearnedData()
|
||||||
|
|||||||
@@ -57,3 +57,24 @@ describe("QuestieLearner missing base DB fallback", function()
|
|||||||
assert.is_true(QuestieLearner:IsEnabled())
|
assert.is_true(QuestieLearner:IsEnabled())
|
||||||
end)
|
end)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
describe("QuestieLearner learner mode activation", function()
|
||||||
|
local QuestieLearner
|
||||||
|
|
||||||
|
before_each(function()
|
||||||
|
dofile("Tests/wow_api_mock.lua")
|
||||||
|
Questie.dbLearner.global.settings.enabled = false
|
||||||
|
Questie.dbLearner.global.settings.dataSourceMode = "learner"
|
||||||
|
QuestieDB.baseDatabaseMissing = false
|
||||||
|
QuestieDB.IsBaseDatabaseMissing = function()
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
QuestieLearner = dofile("Modules/QuestieLearner.lua")
|
||||||
|
end)
|
||||||
|
|
||||||
|
it("re-enables learner recording when learner mode is applied", function()
|
||||||
|
QuestieLearner:ApplyDataSourceMode()
|
||||||
|
assert.is_true(Questie.dbLearner.global.settings.enabled)
|
||||||
|
assert.is_true(QuestieLearner:IsEnabled())
|
||||||
|
end)
|
||||||
|
end)
|
||||||
|
|||||||
Reference in New Issue
Block a user