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
|
||||
Questie.dbLearner.global.settings.dataSourceMode = v
|
||||
Questie.dbLearner.global.settings.prioritizeMyData = (v ~= "static" and v ~= "none")
|
||||
if v == "learner" then
|
||||
Questie.dbLearner.global.settings.enabled = true
|
||||
end
|
||||
ApplyLearnerMode()
|
||||
end
|
||||
end,
|
||||
|
||||
@@ -510,6 +510,10 @@ end
|
||||
|
||||
function QuestieLearner:ApplyDataSourceMode()
|
||||
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()
|
||||
RestoreStaticOverridesForMode()
|
||||
self:InjectLearnedData()
|
||||
|
||||
@@ -57,3 +57,24 @@ describe("QuestieLearner missing base DB fallback", function()
|
||||
assert.is_true(QuestieLearner:IsEnabled())
|
||||
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