musora-content-services 2.94.5 → 2.94.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.local.json +14 -0
- package/.coderabbit.yaml +0 -0
- package/.editorconfig +0 -0
- package/.github/pull_request_template.md +0 -0
- package/.github/workflows/conventional-commits.yaml +0 -0
- package/.github/workflows/docs.js.yml +0 -0
- package/.github/workflows/node.js.yml +0 -0
- package/.prettierignore +0 -0
- package/.prettierrc +0 -0
- package/.yarnrc.yml +1 -0
- package/CHANGELOG.md +19 -0
- package/README.md +0 -0
- package/jest.config.js +0 -0
- package/jsdoc.json +0 -0
- package/package.json +1 -1
- package/src/contentMetaData.js +0 -0
- package/src/filterBuilder.js +0 -0
- package/src/index.d.ts +0 -0
- package/src/index.js +0 -0
- package/src/infrastructure/http/HttpClient.ts +0 -0
- package/src/infrastructure/http/executors/FetchRequestExecutor.ts +0 -0
- package/src/infrastructure/http/index.ts +0 -0
- package/src/infrastructure/http/interfaces/HeaderProvider.ts +0 -0
- package/src/infrastructure/http/interfaces/HttpError.ts +0 -0
- package/src/infrastructure/http/interfaces/NetworkError.ts +0 -0
- package/src/infrastructure/http/interfaces/RequestExecutor.ts +0 -0
- package/src/infrastructure/http/interfaces/RequestOptions.ts +0 -0
- package/src/infrastructure/http/providers/DefaultHeaderProvider.ts +0 -0
- package/src/lib/brands.ts +0 -0
- package/src/lib/httpHelper.js +0 -0
- package/src/lib/lastUpdated.js +0 -0
- package/src/lib/sanity/query.ts +0 -0
- package/src/services/api/types.js +0 -0
- package/src/services/api/types.ts +0 -0
- package/src/services/config.js +0 -0
- package/src/services/content/artist.ts +0 -0
- package/src/services/content/content.ts +0 -0
- package/src/services/content/genre.ts +0 -0
- package/src/services/content/instructor.ts +0 -0
- package/src/services/content-org/content-org.js +0 -0
- package/src/services/content-org/guided-courses.ts +0 -0
- package/src/services/content-org/learning-paths.ts +0 -0
- package/src/services/content-org/playlists-types.js +0 -0
- package/src/services/content-org/playlists.js +0 -0
- package/src/services/content.js +0 -0
- package/src/services/contentAggregator.js +0 -0
- package/src/services/contentLikes.js +0 -0
- package/src/services/contentProgress.js +0 -0
- package/src/services/dataContext.js +0 -0
- package/src/services/dateUtils.js +0 -0
- package/src/services/eventsAPI.js +0 -0
- package/src/services/forums/categories.ts +2 -2
- package/src/services/forums/forums.ts +0 -0
- package/src/services/forums/posts.ts +0 -0
- package/src/services/forums/threads.ts +0 -0
- package/src/services/forums/types.ts +0 -0
- package/src/services/gamification/awards.ts +0 -0
- package/src/services/gamification/gamification.js +0 -0
- package/src/services/imageSRCBuilder.js +0 -0
- package/src/services/imageSRCVerify.js +0 -0
- package/src/services/liveTesting.ts +0 -0
- package/src/services/permissions/PermissionsAdapter.ts +0 -0
- package/src/services/permissions/PermissionsAdapterFactory.ts +0 -0
- package/src/services/permissions/PermissionsV1Adapter.ts +0 -0
- package/src/services/permissions/PermissionsV2Adapter.ts +3 -5
- package/src/services/permissions/README.md +0 -0
- package/src/services/permissions/index.ts +0 -0
- package/src/services/progress-row/method-card.js +0 -0
- package/src/services/railcontent.js +0 -0
- package/src/services/recommendations.js +0 -0
- package/src/services/reporting/README.md +0 -0
- package/src/services/reporting/reporting.ts +0 -0
- package/src/services/reporting/types.ts +0 -0
- package/src/services/sentry/.indexignore +0 -0
- package/src/services/sentry/index.ts +0 -0
- package/src/services/sync/.indexignore +0 -0
- package/src/services/sync/adapters/factory.ts +0 -0
- package/src/services/sync/adapters/lokijs.ts +0 -0
- package/src/services/sync/adapters/sqlite.ts +0 -0
- package/src/services/sync/concurrency-safety.ts +0 -0
- package/src/services/sync/context/index.ts +0 -0
- package/src/services/sync/context/providers/base.ts +0 -0
- package/src/services/sync/context/providers/connectivity.ts +0 -0
- package/src/services/sync/context/providers/durability.ts +0 -0
- package/src/services/sync/context/providers/index.ts +0 -0
- package/src/services/sync/context/providers/session.ts +0 -0
- package/src/services/sync/context/providers/tabs.ts +0 -0
- package/src/services/sync/context/providers/visibility.ts +0 -0
- package/src/services/sync/database/factory.ts +0 -0
- package/src/services/sync/errors/boundary.ts +0 -0
- package/src/services/sync/errors/index.ts +0 -0
- package/src/services/sync/fetch.ts +0 -0
- package/src/services/sync/index.ts +0 -0
- package/src/services/sync/manager.ts +0 -0
- package/src/services/sync/models/Base.ts +0 -0
- package/src/services/sync/models/ContentLike.ts +0 -0
- package/src/services/sync/models/ContentProgress.ts +0 -0
- package/src/services/sync/models/Practice.ts +0 -0
- package/src/services/sync/models/PracticeDayNote.ts +0 -0
- package/src/services/sync/models/index.ts +0 -0
- package/src/services/sync/repositories/base.ts +0 -0
- package/src/services/sync/repositories/content-likes.ts +0 -0
- package/src/services/sync/repositories/content-progress.ts +0 -0
- package/src/services/sync/repositories/index.ts +0 -0
- package/src/services/sync/repositories/practice-day-notes.ts +0 -0
- package/src/services/sync/repositories/practices.ts +0 -0
- package/src/services/sync/repository-proxy.ts +0 -0
- package/src/services/sync/resolver.ts +0 -0
- package/src/services/sync/retry.ts +0 -0
- package/src/services/sync/run-scope.ts +0 -0
- package/src/services/sync/schema/index.ts +0 -0
- package/src/services/sync/serializers/index.ts +0 -0
- package/src/services/sync/serializers/model.ts +0 -0
- package/src/services/sync/serializers/raw.ts +0 -0
- package/src/services/sync/store/index.ts +0 -0
- package/src/services/sync/store/push-coalescer.ts +0 -0
- package/src/services/sync/store-configs.ts +0 -0
- package/src/services/sync/strategies/base.ts +0 -0
- package/src/services/sync/strategies/index.ts +0 -0
- package/src/services/sync/strategies/initial.ts +0 -0
- package/src/services/sync/strategies/polling.ts +0 -0
- package/src/services/sync/telemetry/index.ts +0 -0
- package/src/services/sync/telemetry/sampling.ts +0 -0
- package/src/services/sync/utils/event-emitter.ts +0 -0
- package/src/services/sync/utils/index.ts +0 -0
- package/src/services/sync/utils/throttle.ts +0 -0
- package/src/services/sync/utils/timers.ts +0 -0
- package/src/services/types.js +0 -0
- package/src/services/user/account.ts +0 -0
- package/src/services/user/chat.js +0 -0
- package/src/services/user/interests.js +0 -0
- package/src/services/user/management.js +0 -0
- package/src/services/user/memberships.ts +0 -0
- package/src/services/user/notifications.js +0 -0
- package/src/services/user/onboarding.ts +0 -0
- package/src/services/user/payments.ts +0 -0
- package/src/services/user/permissions.js +0 -0
- package/src/services/user/profile.js +0 -0
- package/src/services/user/sessions.js +0 -0
- package/src/services/user/types.d.ts +0 -0
- package/src/services/user/types.js +0 -0
- package/src/services/user/user-management-system.js +0 -0
- package/src/services/userActivity.js +0 -0
- package/test/HttpClient.test.js +0 -0
- package/test/content.test.js +0 -0
- package/test/contentLikes.test.js +0 -0
- package/test/contentProgress.test.js +0 -0
- package/test/dataContext.test.js +0 -0
- package/test/forum.test.js +0 -0
- package/test/imageSRCBuilder.test.js +0 -0
- package/test/imageSRCVerify.test.js +0 -0
- package/test/initializeTests.js +0 -0
- package/test/learningPaths.test.js +0 -0
- package/test/lib/lastUpdated.test.js +0 -0
- package/test/live/contentProgressLive.test.js +0 -0
- package/test/live/railcontentLive.test.js +0 -0
- package/test/localStorageMock.js +0 -0
- package/test/log.js +0 -0
- package/test/mockData/mockData_fetchByRailContentIds_one_content.json +0 -0
- package/test/mockData/mockData_progress_content.json +0 -0
- package/test/mockData/mockData_sanity_progress_content.json +0 -0
- package/test/mockData/mockData_user_practices.json +0 -0
- package/test/notifications.test.js +0 -0
- package/test/progressRows.test.js +0 -0
- package/test/reporting.test.js +132 -0
- package/test/sanityQueryService.test.js +0 -0
- package/test/streakMessage.test.js +0 -0
- package/test/user/permissions.test.js +0 -0
- package/test/userActivity.test.js +0 -0
- package/tools/generate-index.cjs +0 -0
package/.coderabbit.yaml
CHANGED
|
File without changes
|
package/.editorconfig
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/.prettierignore
CHANGED
|
File without changes
|
package/.prettierrc
CHANGED
|
File without changes
|
package/.yarnrc.yml
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
nodeLinker: node-modules
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [2.94.7](https://github.com/railroadmedia/musora-content-services/compare/v2.94.1...v2.94.7) (2025-12-04)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* bad import ([#611](https://github.com/railroadmedia/musora-content-services/issues/611)) ([ac9ee7b](https://github.com/railroadmedia/musora-content-services/commit/ac9ee7bb8d9617e319dcdedb47c5d7e3c7973732))
|
|
11
|
+
* fallback for method card when no activ epath ([#610](https://github.com/railroadmedia/musora-content-services/issues/610)) ([8458d97](https://github.com/railroadmedia/musora-content-services/commit/8458d9754d293ae28cb134546305264e638c8bbd))
|
|
12
|
+
* **MU2E2-183/T3PS-956:** Fix create/edit forum category ([070f7e5](https://github.com/railroadmedia/musora-content-services/commit/070f7e5754c0e2e9536311a76610df938f4e5146))
|
|
13
|
+
* Patch permissions filter (round 2) ([#616](https://github.com/railroadmedia/musora-content-services/issues/616)) ([f8509a5](https://github.com/railroadmedia/musora-content-services/commit/f8509a5178dfdd17ac06f5779a39960ae1a8130b))
|
|
14
|
+
* refactor fetchLearningPathProgressCheckLessons to exclude duplicates ([#615](https://github.com/railroadmedia/musora-content-services/issues/615)) ([0f0f51e](https://github.com/railroadmedia/musora-content-services/commit/0f0f51e2148a9e611bb3cbc9d103f12952e00056))
|
|
15
|
+
* watermelon fixes for content progress ([#614](https://github.com/railroadmedia/musora-content-services/issues/614)) ([2c2fa8e](https://github.com/railroadmedia/musora-content-services/commit/2c2fa8e68d5b3174ca62c8b9a900370947e44725))
|
|
16
|
+
|
|
17
|
+
### [2.94.6](https://github.com/railroadmedia/musora-content-services/compare/v2.94.5...v2.94.6) (2025-12-03)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* Patch permissions filter (round 2) ([#616](https://github.com/railroadmedia/musora-content-services/issues/616)) ([f8509a5](https://github.com/railroadmedia/musora-content-services/commit/f8509a5178dfdd17ac06f5779a39960ae1a8130b))
|
|
23
|
+
|
|
5
24
|
### [2.94.5](https://github.com/railroadmedia/musora-content-services/compare/v2.94.4...v2.94.5) (2025-12-03)
|
|
6
25
|
|
|
7
26
|
|
package/README.md
CHANGED
|
File without changes
|
package/jest.config.js
CHANGED
|
File without changes
|
package/jsdoc.json
CHANGED
|
File without changes
|
package/package.json
CHANGED
package/src/contentMetaData.js
CHANGED
|
File without changes
|
package/src/filterBuilder.js
CHANGED
|
File without changes
|
package/src/index.d.ts
CHANGED
|
File without changes
|
package/src/index.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/lib/brands.ts
CHANGED
|
File without changes
|
package/src/lib/httpHelper.js
CHANGED
|
File without changes
|
package/src/lib/lastUpdated.js
CHANGED
|
File without changes
|
package/src/lib/sanity/query.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/services/config.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/services/content.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -20,7 +20,7 @@ export async function fetchForumCategories(brand: string): Promise<ForumCategory
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
export interface CreateForumCategoryParams {
|
|
23
|
-
|
|
23
|
+
title: string
|
|
24
24
|
description: string
|
|
25
25
|
weight: number
|
|
26
26
|
brand: string
|
|
@@ -44,7 +44,7 @@ export async function createForumCategory(
|
|
|
44
44
|
export interface UpdateForumCategoryParams {
|
|
45
45
|
id: number
|
|
46
46
|
brand: string
|
|
47
|
-
|
|
47
|
+
title: string
|
|
48
48
|
weight: number
|
|
49
49
|
description?: string
|
|
50
50
|
icon?: string
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -178,7 +178,7 @@ export class PermissionsV2Adapter extends PermissionsAdapter {
|
|
|
178
178
|
|
|
179
179
|
// Content with no permissions is accessible to all
|
|
180
180
|
// A content has "no permissions" if BOTH permission and permission_v2 are empty/undefined
|
|
181
|
-
clauses.push(`(
|
|
181
|
+
clauses.push(`(!defined(${prefix}permission_v2) || count(${prefix}permission_v2) == 0)`)
|
|
182
182
|
|
|
183
183
|
// User has matching permissions
|
|
184
184
|
if (userPermissionIds.length > 0) {
|
|
@@ -204,12 +204,10 @@ export class PermissionsV2Adapter extends PermissionsAdapter {
|
|
|
204
204
|
): string {
|
|
205
205
|
if (isDereferencedContext) {
|
|
206
206
|
// In dereferenced context, check the permission array directly
|
|
207
|
-
return `(
|
|
208
|
-
|| count(array::intersects(${prefix}permission_v2, ${arrayToRawRepresentation(permissions)})) > 0)`
|
|
207
|
+
return `array::intersects(${prefix}permission_v2, ${arrayToRawRepresentation(permissions)})`
|
|
209
208
|
}
|
|
210
209
|
// In standard context, use references() function
|
|
211
|
-
return `(
|
|
212
|
-
count(array::intersects(permission_v2, ${arrayToRawRepresentation(permissions)})) > 0)`
|
|
210
|
+
return `array::intersects(permission_v2, ${arrayToRawRepresentation(permissions)})`
|
|
213
211
|
}
|
|
214
212
|
|
|
215
213
|
/**
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/services/types.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/test/HttpClient.test.js
CHANGED
|
File without changes
|
package/test/content.test.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/test/dataContext.test.js
CHANGED
|
File without changes
|
package/test/forum.test.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/test/initializeTests.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/test/localStorageMock.js
CHANGED
|
File without changes
|
package/test/log.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for Reporting Service
|
|
3
|
+
*
|
|
4
|
+
* Note: These tests use mocked HTTP calls. For integration tests,
|
|
5
|
+
* ensure the backend API is running at the configured baseUrl.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { initializeTestService } from './initializeTests.js'
|
|
9
|
+
import {
|
|
10
|
+
reportContent,
|
|
11
|
+
reportForumPost,
|
|
12
|
+
submitReport
|
|
13
|
+
} from '../src/services/reporting/reporting.ts'
|
|
14
|
+
|
|
15
|
+
// Mock HttpClient to avoid actual API calls in tests
|
|
16
|
+
jest.mock('../src/infrastructure/http/HttpClient', () => {
|
|
17
|
+
return {
|
|
18
|
+
HttpClient: jest.fn().mockImplementation(() => ({
|
|
19
|
+
post: jest.fn().mockResolvedValue({
|
|
20
|
+
report_id: 12345,
|
|
21
|
+
message: 'Report submitted successfully',
|
|
22
|
+
is_duplicate: false
|
|
23
|
+
})
|
|
24
|
+
}))
|
|
25
|
+
}
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
describe('Reporting Service', () => {
|
|
29
|
+
beforeEach(() => {
|
|
30
|
+
initializeTestService()
|
|
31
|
+
})
|
|
32
|
+
|
|
33
|
+
describe('reportContent', () => {
|
|
34
|
+
test('should submit a content report with video_not_working category', async () => {
|
|
35
|
+
const result = await reportContent({
|
|
36
|
+
contentId: 123,
|
|
37
|
+
category: 'video_not_working',
|
|
38
|
+
description: 'Video freezes at 2:30'
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
expect(result).toBeDefined()
|
|
42
|
+
expect(result.report_id).toBe(12345)
|
|
43
|
+
expect(result.message).toBe('Report submitted successfully')
|
|
44
|
+
expect(result.is_duplicate).toBe(false)
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
test('should submit a content report without description', async () => {
|
|
48
|
+
const result = await reportContent({
|
|
49
|
+
contentId: 456,
|
|
50
|
+
category: 'incorrect_content'
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
expect(result).toBeDefined()
|
|
54
|
+
expect(result.report_id).toBeDefined()
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
test('should submit a content report with other category and description', async () => {
|
|
58
|
+
const result = await reportContent({
|
|
59
|
+
contentId: 789,
|
|
60
|
+
category: 'other',
|
|
61
|
+
description: 'Audio quality is very poor'
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
expect(result).toBeDefined()
|
|
65
|
+
expect(result.report_id).toBeDefined()
|
|
66
|
+
expect(result.message).toBeDefined()
|
|
67
|
+
})
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
describe('reportForumPost', () => {
|
|
71
|
+
test('should submit a forum post report with required brand', async () => {
|
|
72
|
+
const result = await reportForumPost({
|
|
73
|
+
postId: 555,
|
|
74
|
+
brand: 'drumeo',
|
|
75
|
+
category: 'spam'
|
|
76
|
+
})
|
|
77
|
+
|
|
78
|
+
expect(result).toBeDefined()
|
|
79
|
+
expect(result.report_id).toBeDefined()
|
|
80
|
+
})
|
|
81
|
+
|
|
82
|
+
test('should submit a forum post report with description', async () => {
|
|
83
|
+
const result = await reportForumPost({
|
|
84
|
+
postId: 666,
|
|
85
|
+
brand: 'pianote',
|
|
86
|
+
category: 'harassment',
|
|
87
|
+
description: 'User is harassing other members'
|
|
88
|
+
})
|
|
89
|
+
|
|
90
|
+
expect(result).toBeDefined()
|
|
91
|
+
expect(result.report_id).toBeDefined()
|
|
92
|
+
expect(result.message).toBeDefined()
|
|
93
|
+
})
|
|
94
|
+
})
|
|
95
|
+
|
|
96
|
+
describe('submitReport', () => {
|
|
97
|
+
test('should submit a generic report for content', async () => {
|
|
98
|
+
const result = await submitReport({
|
|
99
|
+
reportableType: 'content',
|
|
100
|
+
reportableId: 999,
|
|
101
|
+
category: 'technical_issue',
|
|
102
|
+
description: 'Page not loading'
|
|
103
|
+
})
|
|
104
|
+
|
|
105
|
+
expect(result).toBeDefined()
|
|
106
|
+
expect(result.report_id).toBeDefined()
|
|
107
|
+
})
|
|
108
|
+
|
|
109
|
+
test('should submit a generic report for playlist', async () => {
|
|
110
|
+
const result = await submitReport({
|
|
111
|
+
reportableType: 'playlist',
|
|
112
|
+
reportableId: 777,
|
|
113
|
+
category: 'incorrect_content'
|
|
114
|
+
})
|
|
115
|
+
|
|
116
|
+
expect(result).toBeDefined()
|
|
117
|
+
expect(result.report_id).toBeDefined()
|
|
118
|
+
})
|
|
119
|
+
|
|
120
|
+
test('should submit a generic report for comment', async () => {
|
|
121
|
+
const result = await submitReport({
|
|
122
|
+
reportableType: 'comment',
|
|
123
|
+
reportableId: 888,
|
|
124
|
+
category: 'inappropriate',
|
|
125
|
+
description: 'Comment contains offensive language'
|
|
126
|
+
})
|
|
127
|
+
|
|
128
|
+
expect(result).toBeDefined()
|
|
129
|
+
expect(result.report_id).toBeDefined()
|
|
130
|
+
})
|
|
131
|
+
})
|
|
132
|
+
})
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/tools/generate-index.cjs
CHANGED
|
File without changes
|