generated from Seekra/repository-template
fix(settings): fix useSettings getSetting store path
This commit is contained in:
@@ -14,7 +14,6 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { useSettingsStore } from '../../stores/settingsStore';
|
|
||||||
import { useSettings } from '../useSettings';
|
import { useSettings } from '../useSettings';
|
||||||
import { createTestingPinia } from '@pinia/testing';
|
import { createTestingPinia } from '@pinia/testing';
|
||||||
import { setActivePinia } from 'pinia';
|
import { setActivePinia } from 'pinia';
|
||||||
@@ -50,31 +49,28 @@ vi.mock('../../settings.json', () => ({
|
|||||||
describe('useSettings', () => {
|
describe('useSettings', () => {
|
||||||
describe('getSetting', () => {
|
describe('getSetting', () => {
|
||||||
test('returns stored value', () => {
|
test('returns stored value', () => {
|
||||||
const { getSetting } = useSettings();
|
const { getSetting, setSetting } = useSettings();
|
||||||
const settings = useSettingsStore();
|
|
||||||
|
|
||||||
const key = 'setting';
|
const key = ['setting'];
|
||||||
const value = 42;
|
const value = 42;
|
||||||
|
|
||||||
settings.set(key, value);
|
setSetting(key, value);
|
||||||
|
|
||||||
expect(getSetting(key)).toBe(value);
|
expect(getSetting(key)).toBe(value);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('returns default value', () => {
|
test('returns default value', () => {
|
||||||
const { getSetting } = useSettings();
|
const { getSetting, setSetting } = useSettings();
|
||||||
expect(getSetting(settingPath)).toBe(settingDefaultValue);
|
expect(getSetting(settingPath)).toBe(settingDefaultValue);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('returns stored value instead of default value', () => {
|
test('returns stored value instead of default value', () => {
|
||||||
const { getSetting } = useSettings();
|
const { getSetting, setSetting } = useSettings();
|
||||||
const settings = useSettingsStore();
|
|
||||||
|
|
||||||
const value = 43;
|
const value = 43;
|
||||||
|
|
||||||
expect(getSetting(settingPath)).toBe(settingDefaultValue);
|
expect(getSetting(settingPath)).toBe(settingDefaultValue);
|
||||||
|
|
||||||
settings.set(settingPath, value);
|
setSetting(settingPath, value);
|
||||||
expect(getSetting(settingPath)).toBe(value);
|
expect(getSetting(settingPath)).toBe(value);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ export const useSettings = function useSettings () {
|
|||||||
const settingsStore = useSettingsStore();
|
const settingsStore = useSettingsStore();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
settingsStore.get(key) ??
|
settingsStore.get(key.join('.')) ??
|
||||||
getSettingRecursively(
|
getSettingRecursively(
|
||||||
key, settings.contents ?? []
|
key, settings.contents ?? []
|
||||||
)?.default
|
)?.default
|
||||||
|
|||||||
Reference in New Issue
Block a user