Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stop exposing defaultPreferences variable #1109

Merged
merged 2 commits into from
Jan 5, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions __tests__/__main__/main-window.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { app, BrowserWindow, ipcMain } from 'electron';
import { match, spy, stub, useFakeTimers } from 'sinon';

import { notificationMock } from '../../js/notification.mjs';
import { savePreferences, defaultPreferences, resetPreferences } from '../../js/user-preferences.mjs';
import { savePreferences, getDefaultPreferences, resetPreferences } from '../../js/user-preferences.mjs';

import {
createWindow,
Expand Down Expand Up @@ -117,7 +117,7 @@ describe('main-window.mjs', () =>
it('It should not resize window if values are smaller than minimum', (done) =>
{
assert.strictEqual(savePreferences({
...defaultPreferences,
...getDefaultPreferences(),
['view']: 'day'
}), true);
createWindow();
Expand Down Expand Up @@ -147,7 +147,7 @@ describe('main-window.mjs', () =>
it('It should send new event to ipcRenderer', (done) =>
{
assert.strictEqual(savePreferences({
...defaultPreferences,
...getDefaultPreferences(),
['view']: 'month'
}), true);
createWindow();
Expand Down Expand Up @@ -287,7 +287,7 @@ describe('main-window.mjs', () =>
it('Should get hidden if minimize-to-tray is true', (done) =>
{
savePreferences({
...defaultPreferences,
...getDefaultPreferences(),
['minimize-to-tray']: true
});
createWindow();
Expand All @@ -308,7 +308,7 @@ describe('main-window.mjs', () =>
it('Should minimize if minimize-to-tray is false', (done) =>
{
savePreferences({
...defaultPreferences,
...getDefaultPreferences(),
['minimize-to-tray']: false
});

Expand All @@ -333,7 +333,7 @@ describe('main-window.mjs', () =>
it('Should get hidden if close-to-tray is true', (done) =>
{
savePreferences({
...defaultPreferences,
...getDefaultPreferences(),
['close-to-tray']: true
});
createWindow();
Expand All @@ -355,7 +355,7 @@ describe('main-window.mjs', () =>
it('Should close if close-to-tray is false', (done) =>
{
savePreferences({
...defaultPreferences,
...getDefaultPreferences(),
['close-to-tray']: false,
['minimize-to-tray']: false
});
Expand Down
68 changes: 34 additions & 34 deletions __tests__/__main__/user-preferences.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import fs from 'fs';

import {
booleanInputs,
defaultPreferences,
getDefaultPreferences,
getDefaultWidthHeight,
getNotificationsInterval,
getPreferencesFilePath,
Expand Down Expand Up @@ -58,7 +58,7 @@ describe('Preferences Main', () =>
assert.strictEqual(showDay(2020, 1, 5), days['working-days-wednesday']);
assert.strictEqual(showDay(2020, 1, 6), days['working-days-thursday']);
assert.strictEqual(showDay(2020, 1, 7), days['working-days-friday']);
assert.strictEqual(showDay(2020, 1, 7, defaultPreferences), days['working-days-friday']);
assert.strictEqual(showDay(2020, 1, 7, getDefaultPreferences()), days['working-days-friday']);
});

describe('getDefaultWidthHeight()', () =>
Expand All @@ -69,15 +69,15 @@ describe('Preferences Main', () =>
// writing to file inside getDefaultWidthHeight is taking longer after many tests write to the file.
// Thus, increasing the timeout.
this.timeout(15000);
assert.strictEqual(defaultPreferences['view'], 'month');
savePreferences(defaultPreferences);
assert.strictEqual(getDefaultPreferences()['view'], 'month');
savePreferences(getDefaultPreferences());

assert.deepStrictEqual(getDefaultWidthHeight(), { width: 1010, height: 800 });
});

it('Day view', () =>
{
const preferences = { defaultPreferences };
const preferences = structuredClone(getDefaultPreferences());

preferences['view'] = 'day';
savePreferences(preferences);
Expand All @@ -91,8 +91,8 @@ describe('Preferences Main', () =>

it('Month to Day', () =>
{
assert.strictEqual(defaultPreferences['view'], 'month');
savePreferences(defaultPreferences);
assert.strictEqual(getDefaultPreferences()['view'], 'month');
savePreferences(getDefaultPreferences());

assert.strictEqual(getUserPreferences()['view'], 'month');
switchCalendarView();
Expand All @@ -103,7 +103,7 @@ describe('Preferences Main', () =>

it('Day to Month', () =>
{
let preferences = { defaultPreferences };
let preferences = structuredClone(getDefaultPreferences());

preferences['view'] = 'day';
savePreferences(preferences);
Expand All @@ -120,8 +120,8 @@ describe('Preferences Main', () =>
{
beforeEach(() =>
{
assert.strictEqual(defaultPreferences['notifications-interval'], '5');
savePreferences(defaultPreferences);
assert.strictEqual(getDefaultPreferences()['notifications-interval'], '5');
savePreferences(getDefaultPreferences());

assert.strictEqual(getUserPreferences()['notifications-interval'], '5');
assert.strictEqual(getNotificationsInterval(), '5');
Expand Down Expand Up @@ -220,21 +220,21 @@ describe('Preferences Main', () =>
{
beforeEach(() =>
{
savePreferences(defaultPreferences);
savePreferences(getDefaultPreferences());
});

for (const pref of booleanInputs)
{
it(`Saving invalid string as ${pref} preference`, () =>
{
setNewPreference(pref, 'true');
assert.strictEqual(getUserPreferences()[pref], defaultPreferences[pref]);
assert.strictEqual(getUserPreferences()[pref], getDefaultPreferences()[pref]);
});

it(`Saving invalid number as ${pref} preference`, () =>
{
setNewPreference(pref, 20);
assert.strictEqual(getUserPreferences()[pref], defaultPreferences[pref]);
assert.strictEqual(getUserPreferences()[pref], getDefaultPreferences()[pref]);
});

it(`Saving valid boolean as ${pref} preference`, () =>
Expand Down Expand Up @@ -265,13 +265,13 @@ describe('Preferences Main', () =>
it('Saving invalid string as theme', () =>
{
setNewPreference('theme', 'DARKKKK');
assert.strictEqual(getUserPreferences()['theme'], defaultPreferences.theme);
assert.strictEqual(getUserPreferences()['theme'], getDefaultPreferences().theme);
});

it('Saving invalid number as theme', () =>
{
setNewPreference('theme', 5);
assert.strictEqual(getUserPreferences()['theme'], defaultPreferences.theme);
assert.strictEqual(getUserPreferences()['theme'], getDefaultPreferences().theme);
});
});

Expand All @@ -280,25 +280,25 @@ describe('Preferences Main', () =>
it('Saving invalid number as hours per day', () =>
{
setNewPreference('hours-per-day', 1223);
assert.strictEqual(getUserPreferences()['hours-per-day'], defaultPreferences['hours-per-day']);
assert.strictEqual(getUserPreferences()['hours-per-day'], getDefaultPreferences()['hours-per-day']);
});

it('Saving invalid amount of hours per day', () =>
{
setNewPreference('hours-per-day', '30:00');
assert.strictEqual(getUserPreferences()['hours-per-day'], defaultPreferences['hours-per-day']);
assert.strictEqual(getUserPreferences()['hours-per-day'], getDefaultPreferences()['hours-per-day']);
});

it('Saving invalid minutes in hours per day', () =>
{
setNewPreference('hours-per-day', '20:99');
assert.strictEqual(getUserPreferences()['hours-per-day'], defaultPreferences['hours-per-day']);
assert.strictEqual(getUserPreferences()['hours-per-day'], getDefaultPreferences()['hours-per-day']);
});

it('Saving invalid boolean as hours per day', () =>
{
setNewPreference('hours-per-day', true);
assert.strictEqual(getUserPreferences()['hours-per-day'], defaultPreferences['hours-per-day']);
assert.strictEqual(getUserPreferences()['hours-per-day'], getDefaultPreferences()['hours-per-day']);
});

it('Saving valid hours per day', () =>
Expand All @@ -319,25 +319,25 @@ describe('Preferences Main', () =>
it('Saving invalid number as break-time-interval', () =>
{
setNewPreference('break-time-interval', 1223);
assert.strictEqual(getUserPreferences()['break-time-interval'], defaultPreferences['break-time-interval']);
assert.strictEqual(getUserPreferences()['break-time-interval'], getDefaultPreferences()['break-time-interval']);
});

it('Saving invalid hours in break-time-interval', () =>
{
setNewPreference('break-time-interval', '30:00');
assert.strictEqual(getUserPreferences()['break-time-interval'], defaultPreferences['break-time-interval']);
assert.strictEqual(getUserPreferences()['break-time-interval'], getDefaultPreferences()['break-time-interval']);
});

it('Saving invalid mintes in break-time-interval', () =>
{
setNewPreference('break-time-interval', '20:99');
assert.strictEqual(getUserPreferences()['break-time-interval'], defaultPreferences['break-time-interval']);
assert.strictEqual(getUserPreferences()['break-time-interval'], getDefaultPreferences()['break-time-interval']);
});

it('Saving invalid boolean as break-time-interval', () =>
{
setNewPreference('break-time-interval', true);
assert.strictEqual(getUserPreferences()['break-time-interval'], defaultPreferences['break-time-interval']);
assert.strictEqual(getUserPreferences()['break-time-interval'], getDefaultPreferences()['break-time-interval']);
});

it('Saving valid break-time-interval', () =>
Expand All @@ -358,13 +358,13 @@ describe('Preferences Main', () =>
it('Saving invalid month in overall-balance-start-date', () =>
{
setNewPreference( 'overall-balance-start-date', '2022-13-01');
assert.strictEqual(getUserPreferences()['overall-balance-start-date'], defaultPreferences['overall-balance-start-date']);
assert.strictEqual(getUserPreferences()['overall-balance-start-date'], getDefaultPreferences()['overall-balance-start-date']);
});

it('Saving invalid day in overall-balance-start-date', () =>
{
setNewPreference( 'overall-balance-start-date', '2022-10-32');
assert.strictEqual(getUserPreferences()['overall-balance-start-date'], defaultPreferences['overall-balance-start-date']);
assert.strictEqual(getUserPreferences()['overall-balance-start-date'], getDefaultPreferences()['overall-balance-start-date']);
});

it('Saving valid date', () =>
Expand All @@ -379,19 +379,19 @@ describe('Preferences Main', () =>
it('Saving invalid numner as update-remind-me-after', () =>
{
setNewPreference( 'update-remind-me-after', new Date('2022-13-01').getTime());
assert.strictEqual(getUserPreferences()['update-remind-me-after'], defaultPreferences['update-remind-me-after']);
assert.strictEqual(getUserPreferences()['update-remind-me-after'], getDefaultPreferences()['update-remind-me-after']);
});

it('Saving invalid month in update-remind-me-after', () =>
{
setNewPreference( 'update-remind-me-after', '2022-13-01');
assert.strictEqual(getUserPreferences()['update-remind-me-after'], defaultPreferences['update-remind-me-after']);
assert.strictEqual(getUserPreferences()['update-remind-me-after'], getDefaultPreferences()['update-remind-me-after']);
});

it('Saving invalid date in update-remind-me-after', () =>
{
setNewPreference( 'update-remind-me-after', '2022-10-32');
assert.strictEqual(getUserPreferences()['update-remind-me-after'], defaultPreferences['update-remind-me-after']);
assert.strictEqual(getUserPreferences()['update-remind-me-after'], getDefaultPreferences()['update-remind-me-after']);
});

it('Saving valid date', () =>
Expand All @@ -405,12 +405,12 @@ describe('Preferences Main', () =>
{
it('Save to wrong path', () =>
{
assert.strictEqual(savePreferences(defaultPreferences, './not/existing/folder') instanceof Error, true);
assert.strictEqual(savePreferences(getDefaultPreferences(), './not/existing/folder') instanceof Error, true);
});

it('Save to default path', () =>
{
assert.strictEqual(savePreferences(defaultPreferences), true);
assert.strictEqual(savePreferences(getDefaultPreferences()), true);
});
});

Expand All @@ -419,12 +419,12 @@ describe('Preferences Main', () =>
afterEach(() =>
{
resetPreferences();
assert.deepStrictEqual(getUserPreferences(), defaultPreferences);
assert.deepStrictEqual(getUserPreferences(), getDefaultPreferences());
});
{
for (const key in defaultPreferences)
for (const key in getDefaultPreferences())
{
const value = defaultPreferences[key];
const value = getDefaultPreferences()[key];
it('Should reset all preferences', () =>
{
if (typeof value === 'boolean')
Expand Down Expand Up @@ -463,7 +463,7 @@ describe('Preferences Main', () =>

it('Should resolve promise to default preferences if file is unparseable', async() =>
{
assert.deepStrictEqual(await getUserPreferencesPromise(mockGetPreferencesFilePathPromise('./dummy_file.txt')), defaultPreferences);
assert.deepStrictEqual(await getUserPreferencesPromise(mockGetPreferencesFilePathPromise('./dummy_file.txt')), getDefaultPreferences());
});

after(() =>
Expand Down
6 changes: 3 additions & 3 deletions __tests__/__renderer__/classes/DayCalendar.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import assert from 'assert';
import Store from 'electron-store';

import { computeAllTimeBalanceUntilAsync } from '../../../js/time-balance.mjs';
import { defaultPreferences } from '../../../js/user-preferences.mjs';
import { getDefaultPreferences } from '../../../js/user-preferences.mjs';
import { BaseCalendar } from '../../../renderer/classes/BaseCalendar.js';
import { CalendarFactory } from '../../../renderer/classes/CalendarFactory.js';
import { calendarApi } from '../../../renderer/preload-scripts/calendar-api.mjs';
Expand Down Expand Up @@ -82,7 +82,7 @@ describe('DayCalendar class Tests', () =>
};
});

const testPreferences = structuredClone(defaultPreferences);
const testPreferences = structuredClone(getDefaultPreferences());
testPreferences['view'] = 'day';
const languageData = {'language': 'en', 'data': {'dummy_string': 'dummy_string_translated'}};

Expand Down Expand Up @@ -344,7 +344,7 @@ describe('DayCalendar class Tests', () =>

it('MonthCalendar to DayCalendar', async() =>
{
const testPreferences = structuredClone(defaultPreferences);
const testPreferences = structuredClone(getDefaultPreferences());
testPreferences['view'] = 'month';
let calendar = await CalendarFactory.getInstance(testPreferences, languageData);
assert.strictEqual(calendar.constructor.name, 'MonthCalendar');
Expand Down
6 changes: 3 additions & 3 deletions __tests__/__renderer__/classes/MonthCalendar.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import assert from 'assert';
import Store from 'electron-store';

import { computeAllTimeBalanceUntilAsync } from '../../../js/time-balance.mjs';
import { defaultPreferences } from '../../../js/user-preferences.mjs';
import { getDefaultPreferences } from '../../../js/user-preferences.mjs';
import { BaseCalendar } from '../../../renderer/classes/BaseCalendar.js';
import { CalendarFactory } from '../../../renderer/classes/CalendarFactory.js';
import { calendarApi } from '../../../renderer/preload-scripts/calendar-api.mjs';
Expand Down Expand Up @@ -82,7 +82,7 @@ describe('MonthCalendar class Tests', () =>
});

const today = new Date();
const testPreferences = structuredClone(defaultPreferences);
const testPreferences = structuredClone(getDefaultPreferences());
const languageData = {'language': 'en', 'data': {'dummy_string': 'dummy_string_translated'}};

let calendar;
Expand Down Expand Up @@ -237,7 +237,7 @@ describe('MonthCalendar class Tests', () =>

it('DayCalendar to MonthCalendar', async() =>
{
const testPreferences = structuredClone(defaultPreferences);
const testPreferences = structuredClone(getDefaultPreferences());
testPreferences['view'] = 'day';
let calendar = await CalendarFactory.getInstance(testPreferences, languageData);
assert.strictEqual(calendar.constructor.name, 'DayCalendar');
Expand Down
6 changes: 3 additions & 3 deletions __tests__/__renderer__/preferences.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import path from 'path';

import { rootDir } from '../../js/app-config.mjs';
import {
defaultPreferences,
getDefaultPreferences,
getPreferencesFilePath,
getUserPreferences,
savePreferences,
Expand Down Expand Up @@ -79,7 +79,7 @@ function resetPreferenceFile()
}
}

const testPreferences = Object.assign({}, defaultPreferences);
const testPreferences = Object.assign({}, getDefaultPreferences());

// Functions from preferences.js that will be imported dynamically
let convertTimeFormat;
Expand Down Expand Up @@ -221,7 +221,7 @@ describe('Test Preferences Window', () =>
{
changeItemInputValue(
`working-days-${value}`,
!defaultPreferences[`working-days-${value}`]
!getDefaultPreferences()[`working-days-${value}`]
);
checkRenderedItem(`working-days-${value}`, isCheckBox);
});
Expand Down
Loading