mirror of
https://github.com/hcengineering/platform.git
synced 2026-08-17 18:05:42 +02:00
UBERF-11414: Integrations (#9610)
* UBERF-11414: Use common integration kind Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Allow multiple gmail Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Merge with develop Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Refactor integration kinds Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Add integrations package Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Integrations Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Integration state and config Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Add integration events Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Refresh integration states Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Rename to integration-client Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Add filter button Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Add translations for filters Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Synced channels count Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Actions Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Add isLoading for connect Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Create connection and integration Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Use social id from hulygram Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Remove old integrations Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Gmail state Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Gmail state and disconnect all handler Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Add tests Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Formatting Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Gmail sync state Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Fix rush check Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Fix gmail tests Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Fix calendar actions and config Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Calendar state Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Access config Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Github integration state Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Fix svelte errors Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Fix formatting Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Fix typos Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Fix validate Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Fix translations Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Retry on network issues Signed-off-by: Artem Savchenko <armisav@gmail.com> --------- Signed-off-by: Artem Savchenko <armisav@gmail.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { expect, test } from '@playwright/test'
|
||||
import { faker } from '@faker-js/faker'
|
||||
import { Integration, IntegrationSecret } from '@hcengineering/account'
|
||||
import { buildSocialIdString, SocialIdType } from '@hcengineering/core'
|
||||
import { buildSocialIdString, IntegrationKind, SocialIdType } from '@hcengineering/core'
|
||||
|
||||
import { PlatformUser } from './utils'
|
||||
import { getAdminAccountClient } from './API/AccountClient'
|
||||
@@ -39,7 +39,7 @@ test.describe('integrations in accounts tests', () => {
|
||||
// Test data setup
|
||||
const integration1: Integration = {
|
||||
socialId: personId1,
|
||||
kind: 'github',
|
||||
kind: 'github' as IntegrationKind,
|
||||
workspaceUuid: null, // Global integration
|
||||
data: {
|
||||
repo: 'repo1',
|
||||
@@ -50,7 +50,7 @@ test.describe('integrations in accounts tests', () => {
|
||||
|
||||
const integration2: Integration = {
|
||||
socialId: personId2,
|
||||
kind: 'telegram-bot',
|
||||
kind: 'telegram-bot' as IntegrationKind,
|
||||
workspaceUuid,
|
||||
data: {
|
||||
chatId: '123',
|
||||
@@ -61,7 +61,7 @@ test.describe('integrations in accounts tests', () => {
|
||||
|
||||
const integration3: Integration = {
|
||||
socialId: personId3,
|
||||
kind: 'mailbox',
|
||||
kind: 'mailbox' as IntegrationKind,
|
||||
workspaceUuid,
|
||||
data: {
|
||||
email: 'test@example.com',
|
||||
@@ -98,7 +98,7 @@ test.describe('integrations in accounts tests', () => {
|
||||
// Create secrets
|
||||
const secret1: IntegrationSecret = {
|
||||
socialId: personId1,
|
||||
kind: 'github',
|
||||
kind: 'github' as IntegrationKind,
|
||||
workspaceUuid: null,
|
||||
key: 'token',
|
||||
secret: 'github_pat_token_123'
|
||||
@@ -106,7 +106,7 @@ test.describe('integrations in accounts tests', () => {
|
||||
|
||||
const secret2: IntegrationSecret = {
|
||||
socialId: personId2,
|
||||
kind: 'telegram-bot',
|
||||
kind: 'telegram-bot' as IntegrationKind,
|
||||
workspaceUuid,
|
||||
key: 'bot_token',
|
||||
secret: 'telegram_bot_token_123'
|
||||
@@ -114,7 +114,7 @@ test.describe('integrations in accounts tests', () => {
|
||||
|
||||
const secret3: IntegrationSecret = {
|
||||
socialId: personId2,
|
||||
kind: 'telegram-bot',
|
||||
kind: 'telegram-bot' as IntegrationKind,
|
||||
workspaceUuid,
|
||||
key: 'api_key',
|
||||
secret: 'telegram_api_key_123'
|
||||
@@ -157,11 +157,11 @@ test.describe('integrations in accounts tests', () => {
|
||||
expect(workspaceIntegrations).toHaveLength(2)
|
||||
expect(workspaceIntegrations).toEqual(expect.arrayContaining([integration2, integration3]))
|
||||
|
||||
const githubIntegrations = await accountClient.listIntegrations({ kind: 'github' })
|
||||
const githubIntegrations = await accountClient.listIntegrations({ kind: 'github' as IntegrationKind })
|
||||
expect(githubIntegrations).toHaveLength(1)
|
||||
expect(githubIntegrations[0]).toEqual(integration1)
|
||||
|
||||
const telegramIntegrations = await accountClient.listIntegrations({ kind: 'telegram-bot' })
|
||||
const telegramIntegrations = await accountClient.listIntegrations({ kind: 'telegram-bot' as IntegrationKind })
|
||||
expect(telegramIntegrations).toHaveLength(1)
|
||||
expect(telegramIntegrations[0]).toEqual(integration2)
|
||||
|
||||
@@ -176,7 +176,7 @@ test.describe('integrations in accounts tests', () => {
|
||||
expect(workspaceSecrets).toHaveLength(2)
|
||||
expect(workspaceSecrets).toEqual(expect.arrayContaining([secret2, secret3]))
|
||||
|
||||
const telegramSecrets = await accountClient.listIntegrationsSecrets({ kind: 'telegram-bot' })
|
||||
const telegramSecrets = await accountClient.listIntegrationsSecrets({ kind: 'telegram-bot' as IntegrationKind })
|
||||
expect(telegramSecrets).toHaveLength(2)
|
||||
expect(telegramSecrets).toEqual(expect.arrayContaining([secret2, secret3]))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user