Ensure chats pane in settings is visible
Co-authored-by: trevor-signal <131492920+trevor-signal@users.noreply.github.com>
This commit is contained in:
parent
7451d54ece
commit
9738ad4b7a
9 changed files with 33 additions and 11 deletions
|
@ -93,6 +93,7 @@ window.SignalContext = {
|
||||||
unregisterForChange: noop,
|
unregisterForChange: noop,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
isTestOrMockEnvironment: () => false,
|
||||||
nativeThemeListener: {
|
nativeThemeListener: {
|
||||||
getSystemTheme: () => 'light',
|
getSystemTheme: () => 'light',
|
||||||
subscribe: noop,
|
subscribe: noop,
|
||||||
|
|
14
package.json
14
package.json
|
@ -40,13 +40,13 @@
|
||||||
"prepare-staging-build": "node scripts/prepare_staging_build.js",
|
"prepare-staging-build": "node scripts/prepare_staging_build.js",
|
||||||
"prepare-windows-cert": "node scripts/prepare_windows_cert.js",
|
"prepare-windows-cert": "node scripts/prepare_windows_cert.js",
|
||||||
"test": "yarn test-node && yarn test-electron && yarn test-lint-intl && yarn test-eslint",
|
"test": "yarn test-node && yarn test-electron && yarn test-lint-intl && yarn test-eslint",
|
||||||
"test-electron": "cross-env IS_TESTS=1 node ts/scripts/test-electron.js",
|
"test-electron": "node ts/scripts/test-electron.js",
|
||||||
"test-release": "cross-env IS_TESTS=1 node ts/scripts/test-release.js",
|
"test-release": "node ts/scripts/test-release.js",
|
||||||
"test-node": "cross-env IS_TESTS=1 LANG=en-us electron-mocha --timeout 10000 --file test/setup-test-node.js --recursive test/modules ts/test-node ts/test-both",
|
"test-node": "cross-env LANG=en-us electron-mocha --timeout 10000 --file test/setup-test-node.js --recursive test/modules ts/test-node ts/test-both",
|
||||||
"test-mock": "cross-env IS_TESTS=1 mocha --require ts/test-mock/setup-ci.js ts/test-mock/**/*_test.js",
|
"test-mock": "mocha --require ts/test-mock/setup-ci.js ts/test-mock/**/*_test.js",
|
||||||
"test-eslint": "cross-env IS_TESTS=1 mocha .eslint/rules/**/*.test.js --ignore-leaks",
|
"test-eslint": "mocha .eslint/rules/**/*.test.js --ignore-leaks",
|
||||||
"test-node-coverage": "cross-env IS_TESTS=1 nyc --reporter=lcov --reporter=text mocha --recursive test/modules ts/test-node ts/test-both",
|
"test-node-coverage": "nyc --reporter=lcov --reporter=text mocha --recursive test/modules ts/test-node ts/test-both",
|
||||||
"test-lint-intl": "cross-env IS_TESTS=1 ts-node ./build/intl-linter/linter.ts --test",
|
"test-lint-intl": "ts-node ./build/intl-linter/linter.ts --test",
|
||||||
"eslint": "eslint --cache . --cache-strategy content --max-warnings 0",
|
"eslint": "eslint --cache . --cache-strategy content --max-warnings 0",
|
||||||
"lint": "run-s --print-label lint-prettier lint-css check:types eslint",
|
"lint": "run-s --print-label lint-prettier lint-css check:types eslint",
|
||||||
"lint-deps": "node ts/util/lint/linter.js",
|
"lint-deps": "node ts/util/lint/linter.js",
|
||||||
|
|
|
@ -32,6 +32,7 @@ global.window = {
|
||||||
getHourCyclePreference: () => HourCyclePreference.UnknownPreference,
|
getHourCyclePreference: () => HourCyclePreference.UnknownPreference,
|
||||||
getPreferredSystemLocales: () => ['en'],
|
getPreferredSystemLocales: () => ['en'],
|
||||||
getLocaleOverride: () => null,
|
getLocaleOverride: () => null,
|
||||||
|
isTestOrMockEnvironment: () => true,
|
||||||
},
|
},
|
||||||
i18n: key => `i18n(${key})`,
|
i18n: key => `i18n(${key})`,
|
||||||
storage: {
|
storage: {
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
import { config } from './config';
|
import { config } from './config';
|
||||||
import {
|
import {
|
||||||
getEnvironment,
|
getEnvironment,
|
||||||
|
isTestEnvironment,
|
||||||
parseEnvironment,
|
parseEnvironment,
|
||||||
setEnvironment,
|
setEnvironment,
|
||||||
} from '../environment';
|
} from '../environment';
|
||||||
|
@ -12,4 +13,7 @@ setEnvironment(parseEnvironment(config.environment));
|
||||||
|
|
||||||
const environment = getEnvironment();
|
const environment = getEnvironment();
|
||||||
|
|
||||||
export { environment };
|
const isTestOrMockEnvironment =
|
||||||
|
isTestEnvironment(environment) || Boolean(process.env.MOCK_TEST);
|
||||||
|
|
||||||
|
export { environment, isTestOrMockEnvironment };
|
||||||
|
|
|
@ -59,6 +59,7 @@ export class App extends EventEmitter {
|
||||||
args: this.options.args.slice(),
|
args: this.options.args.slice(),
|
||||||
env: {
|
env: {
|
||||||
...process.env,
|
...process.env,
|
||||||
|
MOCK_TEST: 'true',
|
||||||
SIGNAL_CI_CONFIG: this.options.config,
|
SIGNAL_CI_CONFIG: this.options.config,
|
||||||
},
|
},
|
||||||
locale: 'en',
|
locale: 'en',
|
||||||
|
|
|
@ -31,14 +31,27 @@ describe('settings', function (this: Mocha.Suite) {
|
||||||
await bootstrap.teardown();
|
await bootstrap.teardown();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('settings window loads when opened', async () => {
|
it('settings window and all panes load when opened', async () => {
|
||||||
const window = await app.getWindow();
|
const window = await app.getWindow();
|
||||||
|
|
||||||
const newPagePromise = window.context().waitForEvent('page');
|
const newPagePromise = window.context().waitForEvent('page');
|
||||||
await window.locator('.NavTabs__ItemIcon--Settings').click();
|
await window.locator('.NavTabs__ItemIcon--Settings').click();
|
||||||
const settingsWindow = await newPagePromise;
|
const settingsWindow = await newPagePromise;
|
||||||
|
await settingsWindow.getByText('Device Name').waitFor();
|
||||||
|
|
||||||
await settingsWindow.getByText('Appearance').click();
|
await settingsWindow.getByText('Appearance').click();
|
||||||
await settingsWindow.getByText('Language').first().waitFor();
|
await settingsWindow.getByText('Language').first().waitFor();
|
||||||
|
|
||||||
|
await settingsWindow.getByText('Chats').click();
|
||||||
|
await settingsWindow.getByText('Sent media quality').waitFor();
|
||||||
|
|
||||||
|
await settingsWindow.getByText('Calls').click();
|
||||||
|
await settingsWindow.getByText('Enable incoming calls').waitFor();
|
||||||
|
|
||||||
|
await settingsWindow.getByText('Notifications').click();
|
||||||
|
await settingsWindow.getByText('Notification content').waitFor();
|
||||||
|
|
||||||
|
await settingsWindow.getByText('Privacy').click();
|
||||||
|
await settingsWindow.getByText('Read receipts').waitFor();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -208,7 +208,7 @@ export function _bidiIsolate(text: string): string {
|
||||||
* ```
|
* ```
|
||||||
*/
|
*/
|
||||||
export function bidiIsolate(text: string): string {
|
export function bidiIsolate(text: string): string {
|
||||||
if (process.env.IS_TESTS != null) {
|
if (window.SignalContext.isTestOrMockEnvironment()) {
|
||||||
// Turn this off in tests to make it easier to compare strings
|
// Turn this off in tests to make it easier to compare strings
|
||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,6 +54,7 @@ export type MinimalSignalContextType = {
|
||||||
getNodeVersion: () => string;
|
getNodeVersion: () => string;
|
||||||
getPath: (name: 'userData' | 'home' | 'install') => string;
|
getPath: (name: 'userData' | 'home' | 'install') => string;
|
||||||
getVersion: () => string;
|
getVersion: () => string;
|
||||||
|
isTestOrMockEnvironment: () => boolean;
|
||||||
nativeThemeListener: NativeThemeType;
|
nativeThemeListener: NativeThemeType;
|
||||||
restartApp: () => void;
|
restartApp: () => void;
|
||||||
Settings: {
|
Settings: {
|
||||||
|
|
|
@ -10,7 +10,7 @@ import { activeWindowService } from '../context/activeWindowService';
|
||||||
import { config } from '../context/config';
|
import { config } from '../context/config';
|
||||||
import { createNativeThemeListener } from '../context/createNativeThemeListener';
|
import { createNativeThemeListener } from '../context/createNativeThemeListener';
|
||||||
import { createSetting } from '../util/preload';
|
import { createSetting } from '../util/preload';
|
||||||
import { environment } from '../context/environment';
|
import { environment, isTestOrMockEnvironment } from '../context/environment';
|
||||||
import {
|
import {
|
||||||
localeDisplayNames,
|
localeDisplayNames,
|
||||||
countryDisplayNames,
|
countryDisplayNames,
|
||||||
|
@ -52,6 +52,7 @@ export const MinimalSignalContext: MinimalSignalContextType = {
|
||||||
getHourCyclePreference: () => config.hourCyclePreference,
|
getHourCyclePreference: () => config.hourCyclePreference,
|
||||||
getPreferredSystemLocales: () => config.preferredSystemLocales,
|
getPreferredSystemLocales: () => config.preferredSystemLocales,
|
||||||
getLocaleOverride: () => config.localeOverride,
|
getLocaleOverride: () => config.localeOverride,
|
||||||
|
isTestOrMockEnvironment: () => isTestOrMockEnvironment,
|
||||||
nativeThemeListener: createNativeThemeListener(ipcRenderer, window),
|
nativeThemeListener: createNativeThemeListener(ipcRenderer, window),
|
||||||
restartApp: () => ipcRenderer.send('restart'),
|
restartApp: () => ipcRenderer.send('restart'),
|
||||||
OS: {
|
OS: {
|
||||||
|
|
Loading…
Add table
Reference in a new issue