Update react-native-default-preference.js

This commit is contained in:
Marcos Rodriguez Velez 2024-11-19 23:06:51 -04:00
parent e55c857b7d
commit 258a3f07a3

View File

@ -1,4 +1,5 @@
let mockPreferences = {};
let currentSuiteName = 'default'; // Variable to track the current suite name
const getSuite = (name) => {
if (!mockPreferences[name]) {
@ -9,42 +10,43 @@ const getSuite = (name) => {
const DefaultPreference = {
setName: jest.fn((name) => {
currentSuiteName = name; // Update the current suite name
// Initialize suite if not present
if (!mockPreferences[name]) {
mockPreferences[name] = {};
}
return Promise.resolve();
}),
getName: jest.fn(() => {
return Promise.resolve('default');
return Promise.resolve(currentSuiteName);
}),
get: jest.fn((key) => {
const suite = getSuite('default');
const suite = getSuite(currentSuiteName); // Use the current suite name
return Promise.resolve(suite.hasOwnProperty(key) ? suite[key] : null);
}),
set: jest.fn((key, value) => {
const suite = getSuite('default');
const suite = getSuite(currentSuiteName);
suite[key] = value;
return Promise.resolve();
}),
clear: jest.fn((key) => {
const suite = getSuite('default');
const suite = getSuite(currentSuiteName);
delete suite[key];
return Promise.resolve();
}),
getMultiple: jest.fn((keys) => {
const suite = getSuite('default');
const values = keys.map(key => (suite.hasOwnProperty(key) ? suite[key] : null));
const suite = getSuite(currentSuiteName);
const values = keys.map((key) => (suite.hasOwnProperty(key) ? suite[key] : null));
return Promise.resolve(values);
}),
setMultiple: jest.fn((keyValuePairs) => {
const suite = getSuite('default');
const suite = getSuite(currentSuiteName);
Object.entries(keyValuePairs).forEach(([key, value]) => {
suite[key] = value;
});
@ -52,26 +54,28 @@ const DefaultPreference = {
}),
clearMultiple: jest.fn((keys) => {
const suite = getSuite('default');
keys.forEach(key => delete suite[key]);
const suite = getSuite(currentSuiteName);
keys.forEach((key) => delete suite[key]);
return Promise.resolve();
}),
getAll: jest.fn(() => {
const suite = getSuite('default');
const suite = getSuite(currentSuiteName);
return Promise.resolve({ ...suite });
}),
clearAll: jest.fn(() => {
mockPreferences['default'] = {};
mockPreferences[currentSuiteName] = {};
return Promise.resolve();
}),
reset: jest.fn(() => {
mockPreferences = {};
currentSuiteName = 'default'; // Reset the current suite name
return Promise.resolve();
}),
};
module.exports = {
default: DefaultPreference,
};
};