Merge branch 'develop' into new.add-remove-channel-teams
This commit is contained in:
commit
37421d395a
|
@ -144,7 +144,7 @@ android {
|
|||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode VERSIONCODE as Integer
|
||||
versionName "4.17.0"
|
||||
versionName "4.16.2"
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
if (!isFoss) {
|
||||
manifestPlaceholders = [BugsnagAPIKey: BugsnagAPIKey as String]
|
||||
|
|
|
@ -95,6 +95,7 @@ export const setLanguage = (l) => {
|
|||
moment.locale(toMomentLocale(locale));
|
||||
};
|
||||
|
||||
i18n.translations = { en: translations.en?.() };
|
||||
const defaultLanguage = { languageTag: 'en', isRTL: false };
|
||||
const availableLanguages = Object.keys(translations);
|
||||
const { languageTag } = RNLocalize.findBestAvailableLanguage(availableLanguages) || defaultLanguage;
|
||||
|
|
|
@ -123,7 +123,6 @@
|
|||
"creating_invite": "uitnodiging maken",
|
||||
"Channel_Name": "Kanaal Name",
|
||||
"Channels": "Kanalen",
|
||||
"Chats": "Chats",
|
||||
"Call_already_ended": "Gesprek al beeïndigd!",
|
||||
"Click_to_join": "Klik om lid te worden!",
|
||||
"Close": "Sluiten",
|
||||
|
|
|
@ -63,19 +63,6 @@ describe('Settings screen', () => {
|
|||
});
|
||||
|
||||
describe('Usage', async() => {
|
||||
it('should navigate to language view', async() => {
|
||||
await element(by.id('settings-view-language')).tap();
|
||||
await waitFor(element(by.id('language-view'))).toBeVisible().withTimeout(60000);
|
||||
await expect(element(by.id('language-view-zh-CN'))).toExist();
|
||||
await expect(element(by.id('language-view-de'))).toExist();
|
||||
await expect(element(by.id('language-view-en'))).toExist();
|
||||
await expect(element(by.id('language-view-fr'))).toExist();
|
||||
await expect(element(by.id('language-view-pt-BR'))).toExist();
|
||||
await expect(element(by.id('language-view-pt-PT'))).toExist();
|
||||
await expect(element(by.id('language-view-ru'))).toExist();
|
||||
await tapBack();
|
||||
});
|
||||
|
||||
it('should tap clear cache and navigate to roomslistview', async() => {
|
||||
await waitFor(element(by.id('settings-view'))).toBeVisible().withTimeout(2000);
|
||||
await element(by.id('settings-view-clear-cache')).tap();
|
||||
|
|
|
@ -0,0 +1,114 @@
|
|||
const {
|
||||
device, element, by, waitFor
|
||||
} = require('detox');
|
||||
const { navigateToLogin, login, sleep } = require('../../helpers/app');
|
||||
const { post } = require('../../helpers/data_setup');
|
||||
|
||||
const data = require('../../data');
|
||||
const testuser = data.users.regular
|
||||
const defaultLaunchArgs = { permissions: { notifications: 'YES' } };
|
||||
|
||||
const navToLanguage = async() => {
|
||||
await waitFor(element(by.id('rooms-list-view'))).toBeVisible().withTimeout(10000);
|
||||
await element(by.id('rooms-list-view-sidebar')).tap();
|
||||
await waitFor(element(by.id('sidebar-view'))).toBeVisible().withTimeout(2000);
|
||||
await waitFor(element(by.id('sidebar-settings'))).toBeVisible().withTimeout(2000);
|
||||
await element(by.id('sidebar-settings')).tap();
|
||||
await waitFor(element(by.id('settings-view'))).toBeVisible().withTimeout(2000);
|
||||
await element(by.id('settings-view-language')).tap();
|
||||
await waitFor(element(by.id('language-view'))).toBeVisible().withTimeout(10000);
|
||||
};
|
||||
|
||||
describe('i18n', () => {
|
||||
describe('OS language', () => {
|
||||
it('OS set to \'en\' and proper translate to \'en\'', async() => {
|
||||
await device.launchApp({
|
||||
...defaultLaunchArgs,
|
||||
languageAndLocale: {
|
||||
language: "en",
|
||||
locale: "en"
|
||||
},
|
||||
delete: true
|
||||
});
|
||||
await waitFor(element(by.id('onboarding-view'))).toBeVisible().withTimeout(20000);
|
||||
await expect(element(by.id('join-workspace').and(by.label('Join a workspace')))).toBeVisible();
|
||||
await expect(element(by.id('create-workspace-button').and(by.label('Create a new workspace')))).toBeVisible();
|
||||
});
|
||||
|
||||
it('OS set to unavailable language and fallback to \'en\'', async() => {
|
||||
await device.launchApp({
|
||||
...defaultLaunchArgs,
|
||||
languageAndLocale: {
|
||||
language: "es-MX",
|
||||
locale: "es-MX"
|
||||
}
|
||||
});
|
||||
await waitFor(element(by.id('onboarding-view'))).toBeVisible().withTimeout(20000);
|
||||
await expect(element(by.id('join-workspace').and(by.label('Join a workspace')))).toBeVisible();
|
||||
await expect(element(by.id('create-workspace-button').and(by.label('Create a new workspace')))).toBeVisible();
|
||||
});
|
||||
|
||||
/**
|
||||
* This test might become outdated as soon as we support the language
|
||||
* Although this seems to be a bad approach, that's the intention for having fallback enabled
|
||||
*/
|
||||
it('OS set to available language and fallback to \'en\' on strings missing translation', async() => {
|
||||
await device.launchApp({
|
||||
...defaultLaunchArgs,
|
||||
languageAndLocale: {
|
||||
language: "nl",
|
||||
locale: "nl"
|
||||
}
|
||||
});
|
||||
await waitFor(element(by.id('onboarding-view'))).toBeVisible().withTimeout(20000);
|
||||
await expect(element(by.id('join-workspace').and(by.label('Join a workspace')))).toBeVisible(); // Missing nl translation
|
||||
await expect(element(by.id('create-workspace-button').and(by.label('Een nieuwe workspace maken')))).toBeVisible();
|
||||
});
|
||||
});
|
||||
|
||||
describe('Rocket.Chat language', () => {
|
||||
before(async() => {
|
||||
await device.launchApp(defaultLaunchArgs);
|
||||
await navigateToLogin();
|
||||
await login(testuser.username, testuser.password);
|
||||
});
|
||||
|
||||
it('should select \'en\'', async() => {
|
||||
await navToLanguage();
|
||||
await element(by.id('language-view-en')).tap();
|
||||
await waitFor(element(by.id('rooms-list-view'))).toBeVisible().withTimeout(10000);
|
||||
await element(by.id('rooms-list-view-sidebar')).tap();
|
||||
await waitFor(element(by.id('sidebar-view'))).toBeVisible().withTimeout(2000);
|
||||
await expect(element(by.id('sidebar-chats').withDescendant(by.label('Chats')))).toBeVisible();
|
||||
await expect(element(by.id('sidebar-profile').withDescendant(by.label('Profile')))).toBeVisible();
|
||||
await expect(element(by.id('sidebar-settings').withDescendant(by.label('Settings')))).toBeVisible();
|
||||
await element(by.id('sidebar-close-drawer')).tap();
|
||||
});
|
||||
|
||||
it('should select \'nl\' and fallback to \'en\'', async() => {
|
||||
await navToLanguage();
|
||||
await element(by.id('language-view-nl')).tap();
|
||||
await waitFor(element(by.id('rooms-list-view'))).toBeVisible().withTimeout(10000);
|
||||
await element(by.id('rooms-list-view-sidebar')).tap();
|
||||
await waitFor(element(by.id('sidebar-view'))).toBeVisible().withTimeout(2000);
|
||||
await expect(element(by.id('sidebar-chats').withDescendant(by.label('Chats')))).toBeVisible(); // fallback to en
|
||||
await expect(element(by.id('sidebar-profile').withDescendant(by.label('Profiel')))).toBeVisible();
|
||||
await expect(element(by.id('sidebar-settings').withDescendant(by.label('Instellingen')))).toBeVisible();
|
||||
await element(by.id('sidebar-close-drawer')).tap();
|
||||
});
|
||||
|
||||
it('should set unsupported language and fallback to \'en\'', async() => {
|
||||
await post('users.setPreferences', { data: { language: 'eo' } }); // Set language to Esperanto
|
||||
await device.launchApp(defaultLaunchArgs);
|
||||
await waitFor(element(by.id('rooms-list-view'))).toBeVisible().withTimeout(10000);
|
||||
await element(by.id('rooms-list-view-sidebar')).tap();
|
||||
await waitFor(element(by.id('sidebar-view'))).toBeVisible().withTimeout(2000);
|
||||
// give the app some time to apply new language
|
||||
await sleep(3000);
|
||||
await expect(element(by.id('sidebar-chats').withDescendant(by.label('Chats')))).toBeVisible();
|
||||
await expect(element(by.id('sidebar-profile').withDescendant(by.label('Profile')))).toBeVisible();
|
||||
await expect(element(by.id('sidebar-settings').withDescendant(by.label('Settings')))).toBeVisible();
|
||||
await post('users.setPreferences', { data: { language: 'en' } }); // Set back to english
|
||||
});
|
||||
})
|
||||
});
|
|
@ -1694,7 +1694,7 @@
|
|||
INFOPLIST_FILE = NotificationService/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
|
||||
MARKETING_VERSION = 4.17.0;
|
||||
MARKETING_VERSION = 4.16.2;
|
||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||
MTL_FAST_MATH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = chat.rocket.reactnative.NotificationService;
|
||||
|
@ -1731,7 +1731,7 @@
|
|||
INFOPLIST_FILE = NotificationService/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
|
||||
MARKETING_VERSION = 4.17.0;
|
||||
MARKETING_VERSION = 4.16.2;
|
||||
MTL_FAST_MATH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = chat.rocket.reactnative.NotificationService;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>4.17.0</string>
|
||||
<string>4.16.2</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>XPC!</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>4.17.0</string>
|
||||
<string>4.16.2</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>KeychainGroup</key>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "rocket-chat-reactnative",
|
||||
"version": "4.17.0",
|
||||
"version": "4.16.2",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"start": "react-native start",
|
||||
|
|
Loading…
Reference in New Issue