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

Implement timelines for annotation and transcription 186955197 #544

Open
wants to merge 35 commits into
base: integration
Choose a base branch
from

WIP deal with unwanted re-renders

8fe57ce
Select commit
Loading
Failed to load commit list.
Open

Implement timelines for annotation and transcription 186955197 #544

WIP deal with unwanted re-renders
8fe57ce
Select commit
Loading
Failed to load commit list.
COSCRAD-Jenkins-cicd / Jenkins failed Feb 6, 2024 in 13m 11s

ci: error in 'sh' step

ci / Shell Script

Error in sh step, with arguments npx nx test api --skip-nx-cache.

script returned exit code 1
Build log
+ npx nx test api --skip-nx-cache

 >  NX   --skip-nx-cache disables the connection to Nx Cloud for the current run.

   The remote cache will not be read from or written to during this run.


> nx run api:test

ts-jest[ts-jest-transformer] (WARN) Define `ts-jest` config under `globals` is deprecated. Please do
transform: {
    <transform_regex>: ['ts-jest', { /* ts-jest config goes here in Jest */ }],
},
ts-jest[ts-jest-transformer] (WARN) Define `ts-jest` config under `globals` is deprecated. Please do
transform: {
    <transform_regex>: ['ts-jest', { /* ts-jest config goes here in Jest */ }],
},
ts-jest[ts-jest-transformer] (WARN) Define `ts-jest` config under `globals` is deprecated. Please do
transform: {
    <transform_regex>: ['ts-jest', { /* ts-jest config goes here in Jest */ }],
},
ts-jest[ts-jest-transformer] (WARN) Define `ts-jest` config under `globals` is deprecated. Please do
transform: {
    <transform_regex>: ['ts-jest', { /* ts-jest config goes here in Jest */ }],
},
ts-jest[ts-jest-transformer] (WARN) Define `ts-jest` config under `globals` is deprecated. Please do
transform: {
    <transform_regex>: ['ts-jest', { /* ts-jest config goes here in Jest */ }],
},
ts-jest[ts-jest-transformer] (WARN) Define `ts-jest` config under `globals` is deprecated. Please do
transform: {
    <transform_regex>: ['ts-jest', { /* ts-jest config goes here in Jest */ }],
},
ts-jest[ts-jest-transformer] (WARN) Define `ts-jest` config under `globals` is deprecated. Please do
transform: {
    <transform_regex>: ['ts-jest', { /* ts-jest config goes here in Jest */ }],
},
PASS api apps/api/src/domain/models/audio-item/commands/transcripts/import-translations-for-transcript/import-translations-for-transcript.command.integration.spec.ts (67.7 s)
PASS api apps/api/src/queries/digital-text/digital-text-queries.e2e.spec.ts (68.709 s)
PASS api apps/api/src/domain/models/digital-text/entities/digital-text.from-event-history.spec.ts
PASS api apps/api/src/domain/models/vocabulary-list/commands/analyze-term-in-vocabulary-list/analyze-term-in-vocabulary-list.command.integration.spec.ts
PASS api apps/api/src/domain/models/vocabulary-list/commands/register-vocabulary-list-filter-property/register-vocabulary-list-filter-property.command.integration.spec.ts (77.057 s)
PASS api apps/api/src/domain/models/digital-text/commands/add-audio-for-digital-text-page/add-audio-for-digital-text-page.command.integration.spec.ts
PASS api apps/api/src/domain/models/audio-item/commands/transcripts/import-line-items-to-transcript/import-line-items-to-transcript.command-integration.spec.ts (86.233 s)
PASS api apps/api/src/domain/models/digital-text/commands/add-audio-for-digital-text-title/add-audio-for-digital-text-title.command.integration.spec.ts
PASS api apps/api/src/domain/models/audio-item/commands/transcripts/translate-line-item/translate-line-item.command.integration.spec.ts (24.654 s)
PASS api apps/api/src/domain/models/bibliographic-citation/common/commands/register-digital-representation-of-bibiliographic-citation/register-digital-representation-of-bibliographic-citation.command.integration.spec.ts
PASS api apps/api/src/domain/models/audio-item/commands/transcripts/add-participant-to-transcript/add-participant-to-transcript.command.integration.spec.ts (12.641 s)
PASS api apps/api/src/domain/models/context/commands/create-note-about-resource/create-note-about-resource.command.integration.spec.ts (99.232 s)
PASS api apps/api/src/domain/models/song/commands/translate-song-lyrics/translate-song-lyrics.command.integration.spec.ts (8.637 s)
PASS api apps/api/src/domain/models/term/commands/add-audio-for-term/add-audio-for-term.command.integration.spec.ts
PASS api apps/api/src/domain/models/audio-item/commands/transcripts/add-line-item-to-transcript/add-line-item-to-transcript.command.integration.spec.ts (105.807 s)
PASS api apps/api/src/domain/models/term/commands/translate-term/translate-term.command.integration.spec.ts (9.162 s)
PASS api apps/api/src/domain/models/digital-text/commands/add-page-to-digital-text/add-page-to-digital-text.command.integration.spec.ts
PASS api apps/api/src/domain/models/context/commands/connect-resources-with-note/connect-resources-with-note.command.integration.spec.ts (109.514 s)
PASS api apps/api/src/domain/models/video/commands/create-video/create-video.command.integration.spec.ts (20.732 s)
PASS api apps/api/src/app/controllers/__tests__/userManagementQueries.e2e.spec.ts (7.819 s)
PASS api apps/api/src/domain/models/playlist/commands/import-audio-items-to-playlist/import-audio-items-to-playlist.command-integration.spec.ts (7.294 s)
PASS api apps/api/src/domain/models/term/entities/term.from-event-history.spec.ts
PASS api apps/api/src/domain/models/digital-text/commands/add-content-to-digital-text-page/add-content-to-digital-text-page.command.integration.spec.ts
PASS api apps/api/src/domain/models/vocabulary-list/commands/create-vocabulary-list/create-vocabulary-list.command.integration.spec.ts (12.555 s)
PASS api apps/api/src/app/controllers/__tests__/queryACLs.e2e.spec.ts (47.512 s)
PASS api apps/api/src/domain/models/media-item/commands/create-media-item/create-media-item.command.integration.spec.ts
PASS api apps/api/src/domain/models/term/commands/elicit-term-from-prompt/elicit-term-from-prompt.command.integration.spec.ts (9.251 s)
PASS api apps/api/src/domain/models/audio-item/commands/translate-audio-item-name/translate-audio-item.command.integration.spec.ts (9.045 s)
PASS api apps/api/src/domain/models/tag/commands/create-tag/create-tag.command.integration.spec.ts (9.193 s)
PASS api apps/api/src/domain/models/video/commands/translate-video-name/translate-video-name.command.integration.spec.ts (8.619 s)
PASS api apps/api/src/domain/models/playlist/commands/add-audio-item-to-playlist/add-audio-item-to-playlist.command.integration.spec.ts (7.685 s)
PASS api apps/api/src/domain/models/vocabulary-list/commands/add-term-to-vocabulary-list/add-term-to-vocabulary-list.command.integration.spec.ts (7.484 s)
PASS api apps/api/src/domain/models/audio-item/commands/create-audio-item/create-audio-item.command.integration.spec.ts (21.267 s)
PASS api apps/api/src/domain/models/audio-item/commands/transcripts/create-transcript/create-transcript.command.integration.spec.ts (11.021 s)
FAIL api apps/api/src/app/controllers/__tests__/fetchManyViewModels.e2e.spec.ts (7.583 s)
  ● When fetching multiple resources › GET /resources/audioItems › when all of the resources are published › should fetch multiple resources of type audioItem

    expect(received).toMatchSnapshot()

    Snapshot name: `When fetching multiple resources GET /resources/audioItems when all of the resources are published should fetch multiple resources of type audioItem 1`

    - Snapshot  -   0
    + Received  + 141

    @@ -1,9 +1,10 @@
      {
        "entities": [
          {
            "actions": [],
    +       "annotations": [],
            "audioURL": "https://coscrad.org/wp-content/uploads/2023/05/metal-mondays-mock1_533847__tosha73__distortion-guitar-power-chord-e.wav",
            "id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b110110",
            "lengthMilliseconds": 20000,
            "mimeType": "audio/wav",
            "name": {
    @@ -16,13 +17,52 @@
              ],
            },
            "tags": [],
            "text": "[12000] [JHC] There once was a little wooden boy. {en} (role: original) [15550]
      [18300] [JHC] His name was Pinocchio {en} (role: original) [19240]",
    +       "transcript": {
    +         "items": [
    +           {
    +             "inPointMilliseconds": 12000,
    +             "outPointMilliseconds": 15550,
    +             "speakerInitials": "JHC",
    +             "text": {
    +               "items": [
    +                 {
    +                   "languageCode": "en",
    +                   "role": "original",
    +                   "text": "There once was a little wooden boy.",
    +                 },
    +               ],
    +             },
    +           },
    +           {
    +             "inPointMilliseconds": 18300,
    +             "outPointMilliseconds": 19240,
    +             "speakerInitials": "JHC",
    +             "text": {
    +               "items": [
    +                 {
    +                   "languageCode": "en",
    +                   "role": "original",
    +                   "text": "His name was Pinocchio",
    +                 },
    +               ],
    +             },
    +           },
    +         ],
    +         "participants": [
    +           {
    +             "initials": "JHC",
    +             "name": "Jimmy H. Cricket",
    +           },
    +         ],
    +       },
          },
          {
            "actions": [],
    +       "annotations": [],
            "audioURL": "https://coscrad.org/wp-content/uploads/2023/05/metal-mondays-mock2_370934__karolist__guitar-solo.mp3",
            "id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b110111",
            "lengthMilliseconds": 23409,
            "mimeType": "audio/mpeg",
            "name": {
    @@ -36,13 +76,70 @@
            },
            "tags": [],
            "text": "[3400] [BL] While she went down to the river {en} (role: original) [3670]
      [3700] [SD] someone had already filled the water tank. {en} (role: original) [3980]
      [4010] [BL] These were the types of problems we had. {en} (role: original) [4290]",
    +       "transcript": {
    +         "items": [
    +           {
    +             "inPointMilliseconds": 3400,
    +             "outPointMilliseconds": 3670,
    +             "speakerInitials": "BL",
    +             "text": {
    +               "items": [
    +                 {
    +                   "languageCode": "en",
    +                   "role": "original",
    +                   "text": "While she went down to the river",
    +                 },
    +               ],
    +             },
    +           },
    +           {
    +             "inPointMilliseconds": 3700,
    +             "outPointMilliseconds": 3980,
    +             "speakerInitials": "SD",
    +             "text": {
    +               "items": [
    +                 {
    +                   "languageCode": "en",
    +                   "role": "original",
    +                   "text": "someone had already filled the water tank.",
    +                 },
    +               ],
    +             },
    +           },
    +           {
    +             "inPointMilliseconds": 4010,
    +             "outPointMilliseconds": 4290,
    +             "speakerInitials": "BL",
    +             "text": {
    +               "items": [
    +                 {
    +                   "languageCode": "en",
    +                   "role": "original",
    +                   "text": "These were the types of problems we had.",
    +                 },
    +               ],
    +             },
    +           },
    +         ],
    +         "participants": [
    +           {
    +             "initials": "BL",
    +             "name": "Bob LeRob",
    +           },
    +           {
    +             "initials": "SD",
    +             "name": "Sue DeDue",
    +           },
    +         ],
    +       },
          },
          {
            "actions": [],
    +       "annotations": [],
            "audioURL": "https://coscrad.org/wp-content/uploads/2023/05/metal-mondays-mock1_533847__tosha73__distortion-guitar-power-chord-e.wav",
            "id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b110113",
            "lengthMilliseconds": 32989,
            "mimeType": "audio/wav",
            "name": {
    @@ -55,13 +152,56 @@
              ],
            },
            "tags": [],
            "text": "[120] [E1] this type of spoon is used in ceremonies {en} (role: original) [848]
      [930] [E2] by members of the opposite clan of the house chief {en} (role: original) [1080]",
    +       "transcript": {
    +         "items": [
    +           {
    +             "inPointMilliseconds": 120,
    +             "outPointMilliseconds": 848,
    +             "speakerInitials": "E1",
    +             "text": {
    +               "items": [
    +                 {
    +                   "languageCode": "en",
    +                   "role": "original",
    +                   "text": "this type of spoon is used in ceremonies",
    +                 },
    +               ],
    +             },
    +           },
    +           {
    +             "inPointMilliseconds": 930,
    +             "outPointMilliseconds": 1080,
    +             "speakerInitials": "E2",
    +             "text": {
    +               "items": [
    +                 {
    +                   "languageCode": "en",
    +                   "role": "original",
    +                   "text": "by members of the opposite clan of the house chief",
    +                 },
    +               ],
    +             },
    +           },
    +         ],
    +         "participants": [
    +           {
    +             "initials": "E1",
    +             "name": "Elder 1",
    +           },
    +           {
    +             "initials": "E2",
    +             "name": "Elder 2",
    +           },
    +         ],
    +       },
          },
          {
            "actions": [],
    +       "annotations": [],
            "audioURL": "https://coscrad.org/wp-content/uploads/2023/05/mock-song-1_mary-had-a-little-lamb.wav",
            "id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b110114",
            "lengthMilliseconds": 1000,
            "mimeType": "audio/wav",
            "name": {
    @@ -76,10 +216,11 @@
            "tags": [],
            "text": "",
          },
          {
            "actions": [],
    +       "annotations": [],
            "audioURL": "https://coscrad.org/wp-content/uploads/2023/05/mock-song-2_UNPUBLISHED_aint-gonna-see-the-light-of-day.wav",
            "id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b110115",
            "lengthMilliseconds": 10,
            "mimeType": "audio/wav",
            "name": {

      142 |                         );
      143 |
    > 144 |                         expect(res.body).toMatchSnapshot();
          |                                          ^
      145 |                     });
      146 |                 });
      147 |

      at src/app/controllers/__tests__/fetchManyViewModels.e2e.spec.ts:144:42
      at fulfilled (../../node_modules/tslib/tslib.js:166:62)

  ● When fetching multiple resources › GET /resources/audioItems › when some of the resources are unpublished › should return the expected number of results

    expect(received).toMatchSnapshot()

    Snapshot name: `When fetching multiple resources GET /resources/audioItems when some of the resources are unpublished should return the expected number of results 1`

    - Snapshot  -   0
    + Received  + 141

    @@ -1,9 +1,10 @@
      {
        "entities": [
          {
            "actions": [],
    +       "annotations": [],
            "audioURL": "https://coscrad.org/wp-content/uploads/2023/05/metal-mondays-mock1_533847__tosha73__distortion-guitar-power-chord-e.wav",
            "id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b110110",
            "lengthMilliseconds": 20000,
            "mimeType": "audio/wav",
            "name": {
    @@ -16,13 +17,52 @@
              ],
            },
            "tags": [],
            "text": "[12000] [JHC] There once was a little wooden boy. {en} (role: original) [15550]
      [18300] [JHC] His name was Pinocchio {en} (role: original) [19240]",
    +       "transcript": {
    +         "items": [
    +           {
    +             "inPointMilliseconds": 12000,
    +             "outPointMilliseconds": 15550,
    +             "speakerInitials": "JHC",
    +             "text": {
    +               "items": [
    +                 {
    +                   "languageCode": "en",
    +                   "role": "original",
    +                   "text": "There once was a little wooden boy.",
    +                 },
    +               ],
    +             },
    +           },
    +           {
    +             "inPointMilliseconds": 18300,
    +             "outPointMilliseconds": 19240,
    +             "speakerInitials": "JHC",
    +             "text": {
    +               "items": [
    +                 {
    +                   "languageCode": "en",
    +                   "role": "original",
    +                   "text": "His name was Pinocchio",
    +                 },
    +               ],
    +             },
    +           },
    +         ],
    +         "participants": [
    +           {
    +             "initials": "JHC",
    +             "name": "Jimmy H. Cricket",
    +           },
    +         ],
    +       },
          },
          {
            "actions": [],
    +       "annotations": [],
            "audioURL": "https://coscrad.org/wp-content/uploads/2023/05/metal-mondays-mock2_370934__karolist__guitar-solo.mp3",
            "id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b110111",
            "lengthMilliseconds": 23409,
            "mimeType": "audio/mpeg",
            "name": {
    @@ -36,13 +76,70 @@
            },
            "tags": [],
            "text": "[3400] [BL] While she went down to the river {en} (role: original) [3670]
      [3700] [SD] someone had already filled the water tank. {en} (role: original) [3980]
      [4010] [BL] These were the types of problems we had. {en} (role: original) [4290]",
    +       "transcript": {
    +         "items": [
    +           {
    +             "inPointMilliseconds": 3400,
    +             "outPointMilliseconds": 3670,
    +             "speakerInitials": "BL",
    +             "text": {
    +               "items": [
    +                 {
    +                   "languageCode": "en",
    +                   "role": "original",
    +                   "text": "While she went down to the river",
    +                 },
    +               ],
    +             },
    +           },
    +           {
    +             "inPointMilliseconds": 3700,
    +             "outPointMilliseconds": 3980,
    +             "speakerInitials": "SD",
    +             "text": {
    +               "items": [
    +                 {
    +                   "languageCode": "en",
    +                   "role": "original",
    +                   "text": "someone had already filled the water tank.",
    +                 },
    +               ],
    +             },
    +           },
    +           {
    +             "inPointMilliseconds": 4010,
    +             "outPointMilliseconds": 4290,
    +             "speakerInitials": "BL",
    +             "text": {
    +               "items": [
    +                 {
    +                   "languageCode": "en",
    +                   "role": "original",
    +                   "text": "These were the types of problems we had.",
    +                 },
    +               ],
    +             },
    +           },
    +         ],
    +         "participants": [
    +           {
    +             "initials": "BL",
    +             "name": "Bob LeRob",
    +           },
    +           {
    +             "initials": "SD",
    +             "name": "Sue DeDue",
    +           },
    +         ],
    +       },
          },
          {
            "actions": [],
    +       "annotations": [],
            "audioURL": "https://coscrad.org/wp-content/uploads/2023/05/metal-mondays-mock1_533847__tosha73__distortion-guitar-power-chord-e.wav",
            "id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b110113",
            "lengthMilliseconds": 32989,
            "mimeType": "audio/wav",
            "name": {
    @@ -55,13 +152,56 @@
              ],
            },
            "tags": [],
            "text": "[120] [E1] this type of spoon is used in ceremonies {en} (role: original) [848]
      [930] [E2] by members of the opposite clan of the house chief {en} (role: original) [1080]",
    +       "transcript": {
    +         "items": [
    +           {
    +             "inPointMilliseconds": 120,
    +             "outPointMilliseconds": 848,
    +             "speakerInitials": "E1",
    +             "text": {
    +               "items": [
    +                 {
    +                   "languageCode": "en",
    +                   "role": "original",
    +                   "text": "this type of spoon is used in ceremonies",
    +                 },
    +               ],
    +             },
    +           },
    +           {
    +             "inPointMilliseconds": 930,
    +             "outPointMilliseconds": 1080,
    +             "speakerInitials": "E2",
    +             "text": {
    +               "items": [
    +                 {
    +                   "languageCode": "en",
    +                   "role": "original",
    +                   "text": "by members of the opposite clan of the house chief",
    +                 },
    +               ],
    +             },
    +           },
    +         ],
    +         "participants": [
    +           {
    +             "initials": "E1",
    +             "name": "Elder 1",
    +           },
    +           {
    +             "initials": "E2",
    +             "name": "Elder 2",
    +           },
    +         ],
    +       },
          },
          {
            "actions": [],
    +       "annotations": [],
            "audioURL": "https://coscrad.org/wp-content/uploads/2023/05/mock-song-1_mary-had-a-little-lamb.wav",
            "id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b110114",
            "lengthMilliseconds": 1000,
            "mimeType": "audio/wav",
            "name": {
    @@ -76,10 +216,11 @@
            "tags": [],
            "text": "",
          },
          {
            "actions": [],
    +       "annotations": [],
            "audioURL": "https://coscrad.org/wp-content/uploads/2023/05/mock-song-2_UNPUBLISHED_aint-gonna-see-the-light-of-day.wav",
            "id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b110115",
            "lengthMilliseconds": 10,
            "mimeType": "audio/wav",
            "name": {

      235 |                         );
      236 |
    > 237 |                         expect(res.body).toMatchSnapshot();
          |                                          ^
      238 |                     });
      239 |                 });
      240 |             });

      at src/app/controllers/__tests__/fetchManyViewModels.e2e.spec.ts:237:42
      at fulfilled (../../node_modules/tslib/tslib.js:166:62)

 › 2 snapshots failed.
PASS api apps/api/src/domain/models/bibliographic-citation/book-bibliographic-citation/commands/create-book-bibliographic-citation/create-book-bibliographic-citation.command.integration.spec.ts (33.328 s)
PASS api apps/api/src/coscrad-cli/export-media-annotations.cli-command.e2e.spec.ts (9.679 s)
  ● Console

    console.log
      done

      at src/coscrad-cli/export-media-annotations.cli-command.e2e.spec.ts:209:29

    console.log
      done

      at src/coscrad-cli/export-media-annotations.cli-command.e2e.spec.ts:209:29

The command failed with the following errors: Encountered a command payload with an invalid type on FSA for command of type CREATE_SONG. 
See inner errors for more details.
Inner Errors: invalid payload type: Error: The property bogus is not a known property name
The command failed with the following errors: Command execution error.
Inner Errors: You cannot add lyrics for: song/9b1deb4d-3b7d-4bad-9bdd-2b0d7b100000 as it already has lyrics.
Failed to parse [payload-overrides] : Unexpected end of JSON input
PASS api apps/api/src/coscrad-cli/seed-test-data-with-command.cli-command.e2e.spec.ts (9.972 s)
  ● Console

    console.log
      {
        msg: 'The command failed with the following errors: Encountered a command payload with an invalid type on FSA for command of type CREATE_SONG. \n' +
          'See inner errors for more details.\n' +
          'Inner Errors: invalid payload type: Error: The property bogus is not a known property name'
      }

      at SeedTestDataWithCommand.<anonymous> (src/coscrad-cli/seed-test-data-with-command.cli-command.ts:68:17)

    console.log
      {
        msg: 'The command failed with the following errors: Command execution error.\n' +
          'Inner Errors: You cannot add lyrics for: song/9b1deb4d-3b7d-4bad-9bdd-2b0d7b100000 as it already has lyrics.'
      }

      at SeedTestDataWithCommand.<anonymous> (src/coscrad-cli/seed-test-data-with-command.cli-command.ts:68:17)

PASS api apps/api/src/domain/models/digital-text/commands/create-digital-text.command.integration.spec.ts (16.898 s)
  ● Console

    console.log
      done

      at src/domain/models/digital-text/commands/create-digital-text.command.integration.spec.ts:185:33

PASS api apps/api/src/domain/models/user-management/user/commands/register-user/register-user.command.integration.spec.ts (15.231 s)
  ● Console

    console.log
      start here

      at src/domain/models/user-management/user/commands/register-user/register-user.command.integration.spec.ts:95:17

    console.log
      done

      at src/domain/models/user-management/user/commands/register-user/register-user.command.integration.spec.ts:225:41

    console.log
      done

      at src/domain/models/user-management/user/commands/register-user/register-user.command.integration.spec.ts:225:41

    console.log
      done

      at src/domain/models/user-management/user/commands/register-user/register-user.command.integration.spec.ts:225:41

    console.log
      done

      at src/domain/models/user-management/user/commands/register-user/register-user.command.integration.spec.ts:225:41

    console.log
      done

      at src/domain/models/user-management/user/commands/register-user/register-user.command.integration.spec.ts:225:41

    console.log
      done

      at src/domain/models/user-management/user/commands/register-user/register-user.command.integration.spec.ts:225:41

    console.log
      done

      at src/domain/models/user-management/user/commands/register-user/register-user.command.integration.spec.ts:225:41

    console.log
      done

      at src/domain/models/user-management/user/commands/register-user/register-user.command.integration.spec.ts:225:41

    console.log
      done

      at src/domain/models/user-management/user/commands/register-user/register-user.command.integration.spec.ts:225:41

    console.log
      done

      at src/domain/models/user-management/user/commands/register-user/register-user.command.integration.spec.ts:225:41

    console.log
      done

      at src/domain/models/user-management/user/commands/register-user/register-user.command.integration.spec.ts:225:41

    console.log
      done

      at src/domain/models/user-management/user/commands/register-user/register-user.command.integration.spec.ts:225:41

    console.log
      done

      at src/domain/models/user-management/user/commands/register-user/register-user.command.integration.spec.ts:225:41

    console.log
      done

      at src/domain/models/user-management/user/commands/register-user/register-user.command.integration.spec.ts:225:41

    console.log
      done

      at src/domain/models/user-management/user/commands/register-user/register-user.command.integration.spec.ts:225:41

PASS api apps/api/src/app/controllers/__tests__/edge-connection-queries.e2e.spec.ts
PASS api apps/api/src/domain/models/digital-text/commands/translate-digital-text-page-content/translate-digital-text-page-content.command.integration.spec.ts
PASS api apps/api/src/domain/models/shared/common-commands/grant-resource-read-access-to-user/grant-resource-read-access-to-user.command.integration.spec.ts (5.779 s)
PASS api apps/api/src/domain/models/song/commands/create-song.command.integration.spec.ts (20.327 s)
PASS api apps/api/src/domain/models/vocabulary-list/commands/translate-vocabulary-list-name/translate-vocabulary-list-name.command.integration.spec.ts (7.537 s)
PASS api apps/api/src/domain/models/song/commands/translate-song-title/translate-song-title.integration.spec.ts (6.774 s)
PASS api apps/api/src/domain/models/user-management/group/commands/create-group/create-group.command.integration.spec.ts (10.38 s)
You must set $DATA_MODE=import to enable imports.
PASS api apps/api/src/coscrad-cli/data-restore.cli-command.e2e.spec.ts (7.872 s)
PASS api apps/api/src/domain/models/bibliographic-citation/journal-article-bibliographic-citation/commands/create-journal-article-bibliographic-citation.command.integration.spec.ts (28.188 s)
PASS api apps/api/src/domain/models/photograph/commands/create-photograph/create-photograph.command.integration.spec.ts
PASS api apps/api/src/app/controllers/command/command.controller.e2e.spec.ts
PASS api apps/api/src/domain/models/digital-text/commands/add-photograph-to-digital-text-page/add-photograph-to-digital-text-page.command.integration.spec.ts
PASS api apps/api/src/domain/models/playlist/commands/create-playlist.command.integration.spec.ts (6.964 s)
PASS api apps/api/src/domain/models/tag/commands/tag-resource-or-note/tag-resource-or-note.command.integration.spec.ts (76.644 s)
PASS api apps/api/src/domain/models/bibliographic-citation/court-case-bibliographic-citation/commands/create-court-case-bibliographic-citation/create-court-case-bibliographic-citation.command.integration.spec.ts (17.192 s)
PASS api apps/api/src/app/controllers/resources/media-item.controller.fetch-binary.integration.spec.ts
PASS api apps/api/src/queries/digital-text/digital-text.view-model.from-event-history.spec.ts
PASS api apps/api/src/domain/models/shared/common-commands/publish-resource/publish-resource.command.integration.spec.ts
PASS api apps/api/src/domain/models/vocabulary-list/entities/vocabulary-list.from-event-history.spec.ts
PASS api apps/api/src/domain/models/playlist/commands/translate-playlist-name/translate-playlist-name.command-integration.spec.ts (5.417 s)
PASS api apps/api/src/domain/models/vocabulary-list/entities/vocabulary-list-filter-property.validate-complex-invariants.spec.ts
PASS api apps/api/src/domain/models/user-management/group/commands/add-user-to-group/add-user-to-group.command.integration.spec.ts (6.685 s)
PASS api apps/api/src/domain/models/audio-item/entities/audio-item.import-translations-for-transcript.spec.ts
PASS api apps/api/src/domain/models/tag/commands/relabel-tag/relabel-tag.command.integration.spec.ts (5.698 s)
PASS api apps/api/src/domain/models/digital-text/commands/translate-digital-text-title/translate-digital-text-title.command.integration.spec.ts
PASS api apps/api/src/domain/models/song/commands/add-lyrics-for-song/add-lyrics-for-song.command.integration.spec.ts
You must set $DATA_MODE=_CYPRESS_ to enable deleting data from collections
FAIL api apps/api/src/app/controllers/__tests__/fetchViewModelById.e2e.spec.ts
  ● GET  (fetch view models) › When querying for a single View Model by ID › GET /resources/audioItems/:id › when the resource is published › when an resource with the id exists › should return the expected response

    expect(received).toMatchSnapshot()

    Snapshot name: `GET  (fetch view models) When querying for a single View Model by ID GET /resources/audioItems/:id when the resource is published when an resource with the id exists should return the expected response 1`

    - Snapshot  -  0
    + Received  + 39

    @@ -1,7 +1,8 @@
      {
        "actions": [],
    +   "annotations": [],
        "audioURL": "https://coscrad.org/wp-content/uploads/2023/05/metal-mondays-mock1_533847__tosha73__distortion-guitar-power-chord-e.wav",
        "id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b110110",
        "lengthMilliseconds": 20000,
        "mimeType": "audio/wav",
        "name": {
    @@ -14,6 +15,44 @@
          ],
        },
        "tags": [],
        "text": "[12000] [JHC] There once was a little wooden boy. {en} (role: original) [15550]
      [18300] [JHC] His name was Pinocchio {en} (role: original) [19240]",
    +   "transcript": {
    +     "items": [
    +       {
    +         "inPointMilliseconds": 12000,
    +         "outPointMilliseconds": 15550,
    +         "speakerInitials": "JHC",
    +         "text": {
    +           "items": [
    +             {
    +               "languageCode": "en",
    +               "role": "original",
    +               "text": "There once was a little wooden boy.",
    +             },
    +           ],
    +         },
    +       },
    +       {
    +         "inPointMilliseconds": 18300,
    +         "outPointMilliseconds": 19240,
    +         "speakerInitials": "JHC",
    +         "text": {
    +           "items": [
    +             {
    +               "languageCode": "en",
    +               "role": "original",
    +               "text": "His name was Pinocchio",
    +             },
    +           ],
    +         },
    +       },
    +     ],
    +     "participants": [
    +       {
    +         "initials": "JHC",
    +         "name": "Jimmy H. Cricket",
    +       },
    +     ],
    +   },
      }

      127 |                                 expect(res.body.id).toBe(resourceToFind.id);
      128 |
    > 129 |                                 expect(res.body).toMatchSnapshot();
          |                                                  ^
      130 |                             });
      131 |                         });
      132 |                     });

      at src/app/controllers/__tests__/fetchViewModelById.e2e.spec.ts:129:50
      at fulfilled (../../node_modules/tslib/tslib.js:166:62)

 › 1 snapshot failed.
You must set $DATA_MODE=_CYPRESS_ to enable deleting data from collections
PASS api apps/api/src/coscrad-cli/clear-database.cli-command.e2e.spec.ts (7.255 s)
  ● Console

    console.log
      Attempting to delete data from all collections in the database: staging

      at ConsoleCoscradCliLogger.log (src/coscrad-cli/logging/console-coscrad-cli-logger.ts:7:17)

    console.log
      Successfully emptied all collections

      at ConsoleCoscradCliLogger.log (src/coscrad-cli/logging/console-coscrad-cli-logger.ts:7:17)

PASS api apps/api/src/domain/models/term/commands/create-prompt-term/create-prompt-term.command.integration.spec.ts
PASS api apps/api/src/domain/models/term/commands/create-term/create-term.command.integration.spec.ts (9.933 s)
PASS api apps/api/src/domain/models/user-management/user/commands/grant-user-role/grant-user-role.command.integration.spec.ts (6.168 s)
PASS api apps/api/src/domain/models/vocabulary-list/entities/vocabulary-list.analyze-entry.spec.ts
PASS api apps/api/src/domain/models/song/song.from-event-history.spec.ts
PASS api apps/api/src/domain/models/__tests__/resourceModelContextStateValidators.spec.ts
PASS api apps/api/src/coscrad-cli/ingest-media-items.cli-command.spec.ts (8.114 s)
  ● Console

    console.log
      Attempting to import media from: ./__cli-command-test-inputs__/ingest-media-items/mediaItemsOnly

      at ConsoleCoscradCliLogger.log (src/coscrad-cli/logging/console-coscrad-cli-logger.ts:7:17)

    console.log
      Media Item Added: {"type":"CREATE_MEDIA_ITEM","payload":{"title":"biodynamic-theme-song-forever","mimeType":"audio/mpeg","aggregateCompositeIdentifier":{"type":"mediaItem","id":"1c86e070-c09c-44fb-822d-2211c8a715e8"},"url":"http://localhost:3131/uploads/1c86e070-c09c-44fb-822d-2211c8a715e8","rawData":{"filename":"biodynamic-theme-song-forever.mp3"},"lengthMilliseconds":8359.156}}

      at ConsoleCoscradCliLogger.log (src/coscrad-cli/logging/console-coscrad-cli-logger.ts:7:17)

    console.log
      Media Item Added: {"type":"CREATE_MEDIA_ITEM","payload":{"title":"station","mimeType":"image/png","aggregateCompositeIdentifier":{"type":"mediaItem","id":"16338835-55b1-4727-8b4c-2a7eabf29503"},"url":"http://localhost:3131/uploads/16338835-55b1-4727-8b4c-2a7eabf29503","rawData":{"filename":"station.png"},"heightPx":1280,"widthPx":960}}

      at ConsoleCoscradCliLogger.log (src/coscrad-cli/logging/console-coscrad-cli-logger.ts:7:17)

    console.log
      Media Item Added: {"type":"CREATE_MEDIA_ITEM","payload":{"title":"trees-reflect-into-the-lake","mimeType":"video/mp4","aggregateCompositeIdentifier":{"type":"mediaItem","id":"5618d97c-e61a-408b-9d05-727e534b0a2f"},"url":"http://localhost:3131/uploads/5618d97c-e61a-408b-9d05-727e534b0a2f","rawData":{"filename":"trees-reflect-into-the-lake.mp4"},"lengthMilliseconds":13311.667}}

      at ConsoleCoscradCliLogger.log (src/coscrad-cli/logging/console-coscrad-cli-logger.ts:7:17)

    console.log
      audioItem/0f50abf0-baf1-4536-a897-2362c095b4d6 Added: {"type":"CREATE_AUDIO_ITEM","payload":{"aggregateCompositeIdentifier":{"type":"audioItem","id":"0f50abf0-baf1-4536-a897-2362c095b4d6"},"name":"biodynamic-theme-song-forever","languageCodeForName":"en","lengthMilliseconds":8359.156,"mediaItemId":"1c86e070-c09c-44fb-822d-2211c8a715e8"}}

      at ConsoleCoscradCliLogger.log (src/coscrad-cli/logging/console-coscrad-cli-logger.ts:7:17)

    console.log
      photograph/87327b6f-58ac-4c80-8543-1d7d0e9a6094 Added: {"type":"CREATE_PHOTOGRAPH","payload":{"aggregateCompositeIdentifier":{"type":"photograph","id":"87327b6f-58ac-4c80-8543-1d7d0e9a6094"},"title":"station","languageCodeForTitle":"en","mediaItemId":"16338835-55b1-4727-8b4c-2a7eabf29503","photographer":"unknown","heightPx":1280,"widthPx":960}}

      at ConsoleCoscradCliLogger.log (src/coscrad-cli/logging/console-coscrad-cli-logger.ts:7:17)

    console.log
      video/08b77786-c5c3-4ced-9055-14c8f7c6ffbd Added: {"type":"CREATE_VIDEO","payload":{"aggregateCompositeIdentifier":{"type":"video","id":"08b77786-c5c3-4ced-9055-14c8f7c6ffbd"},"name":"trees-reflect-into-the-lake","languageCodeForName":"en","lengthMilliseconds":13311.667,"mediaItemId":"5618d97c-e61a-408b-9d05-727e534b0a2f"}}

      at ConsoleCoscradCliLogger.log (src/coscrad-cli/logging/console-coscrad-cli-logger.ts:7:17)

PASS api apps/api/src/persistence/repositories/user-repository.integration.spec.ts
PASS api apps/api/src/app/controllers/command/command-rbac.e2e.spec.ts
PASS api apps/api/src/persistence/repositories/connectionRepository.e2e.spec.ts
PASS api apps/api/src/domain/models/context/edge-connection.validate-external-state.spec.ts
PASS api apps/api/src/app/controllers/__tests__/id-generation.integration.spec.ts
PASS api apps/api/src/coscrad-cli/revert-latest-migration.integration.spec.ts (10.353 s)
PASS api apps/api/src/domain/models/digital-text/entities/digital-text.add-audio-for-page.spec.ts
Failed to parse command stream from JSON file
Inner Errors: ENOENT: no such file or directory, open 'sorry-mario.data.json'PASS api apps/api/src/domain/models/vocabulary-list/entities/vocabulary-list.register-filter-property.spec.ts
Encountered invalid command stream definition
Inner Errors: Encountered an invalid slug definition [missing colon (:)]: {APPEND_THIS_ID}Encountered an invalid slug definition [missing colon (:)]: {APPEND_THIS_ID}You must only specify one of [name, data-file]
PASS api apps/api/src/lib/utilities/clonePlainObjectWithOverrides.spec.ts
PASS api apps/api/src/domain/models/categories/entities/category.validate-external-state.spec.ts
PASS api apps/api/src/domain/models/spatial-feature/point/commands/create-point.command.integration.spec.ts (11.779 s)
You must specify exactly one of [name, data-file]
PASS api apps/api/src/coscrad-cli/execute-command-stream.cli-command.e2e.spec.ts
  ● Console

    console.log
      Attempting to execute command FSA: {"type":"REGISTER_USER","payload":{"aggregateCompositeIdentifier":{"type":"user","id":"d92e8a7c-0c5b-4912-993d-92b5e5340783"},"userIdFromAuthProvider":"auth0|6407b7bd81d69faf23e9dd7e","username":"Cypress McTester"}}

      at Object.implementation (src/coscrad-cli/logging/__tests__/build-mock-logger.ts:10:23)

    console.log
      Attempting to execute command FSA: {"type":"GRANT_USER_ROLE","payload":{"aggregateCompositeIdentifier":{"type":"user","id":"d92e8a7c-0c5b-4912-993d-92b5e5340783"},"role":"projectAdmin"}}

      at Object.implementation (src/coscrad-cli/logging/__tests__/build-mock-logger.ts:10:23)

    console.log
      Attempting to execute command FSA: {"type":"REGISTER_USER","payload":{"aggregateCompositeIdentifier":{"type":"user","id":"42844ee5-4980-40cf-bd31-206190c51775"},"userIdFromAuthProvider":"auth0|65a56f7af6a935f20eb4b7f5","username":"Geoff Test User"}}

      at Object.implementation (src/coscrad-cli/logging/__tests__/build-mock-logger.ts:10:23)

    console.log
      Attempting to execute command FSA: {"type":"GRANT_USER_ROLE","payload":{"aggregateCompositeIdentifier":{"type":"user","id":"42844ee5-4980-40cf-bd31-206190c51775"},"role":"projectAdmin"}}

      at Object.implementation (src/coscrad-cli/logging/__tests__/build-mock-logger.ts:10:23)

    console.log
      Success

      at Object.implementation (src/coscrad-cli/logging/__tests__/build-mock-logger.ts:10:23)

    console.log
      Attempting to execute command FSA: {"type":"CREATE_TERM","payload":{"aggregateCompositeIdentifier":{"id":"f390eb9c-de87-4ce6-aeba-f187054a3616","type":"term"},"text":"I am talking to him (language)","languageCode":"clc","contributorId":"1"}}

      at Object.implementation (src/coscrad-cli/logging/__tests__/build-mock-logger.ts:10:23)

    console.log
      Attempting to execute command FSA: {"type":"TRANSLATE_TERM","payload":{"aggregateCompositeIdentifier":{"id":"f390eb9c-de87-4ce6-aeba-f187054a3616","type":"term"},"translation":"I am talking to him (English)","languageCode":"en"}}

      at Object.implementation (src/coscrad-cli/logging/__tests__/build-mock-logger.ts:10:23)

    console.log
      Attempting to execute command FSA: {"type":"PUBLISH_RESOURCE","payload":{"aggregateCompositeIdentifier":{"id":"f390eb9c-de87-4ce6-aeba-f187054a3616","type":"term"}}}

      at Object.implementation (src/coscrad-cli/logging/__tests__/build-mock-logger.ts:10:23)

    console.log
      Success

      at Object.implementation (src/coscrad-cli/logging/__tests__/build-mock-logger.ts:10:23)

    console.log
      Failed to parse command stream from JSON file
      Inner Errors: ENOENT: no such file or directory, open 'sorry-mario.data.json'

      at Object.implementation (src/coscrad-cli/logging/__tests__/build-mock-logger.ts:10:23)

    console.log
      Encountered invalid command stream definition
      Inner Errors: Encountered an invalid slug definition [missing colon (:)]: {APPEND_THIS_ID}Encountered an invalid slug definition [missing colon (:)]: {APPEND_THIS_ID}

      at Object.implementation (src/coscrad-cli/logging/__tests__/build-mock-logger.ts:10:23)

    console.log
      You must only specify one of [name, data-file]

      at Object.implementation (src/coscrad-cli/logging/__tests__/build-mock-logger.ts:10:23)

    console.log
      exiting.

      at Object.implementation (src/coscrad-cli/logging/__tests__/build-mock-logger.ts:10:23)

    console.log
      You must specify exactly one of [name, data-file]

      at Object.implementation (src/coscrad-cli/logging/__tests__/build-mock-logger.ts:10:23)

    console.log
      Exiting.

      at Object.implementation (src/coscrad-cli/logging/__tests__/build-mock-logger.ts:10:23)

Failed to parse quantity. Invalid input. [quantity] must be an integer. Received: foobarbaz
Failed to parse quantity. Invalid input. [quantity] must be a non-negative integer. Received: 0
Failed to parse quantity. Invalid input. [quantity] must be an integer. Received: 1.2
PASS api apps/api/src/domain/models/digital-text/entities/digital-text.add-audio-for-title.spec.ts
Failed to parse quantity. Invalid input. [quantity] must be a non-negative integer. Received: -3
PASS api apps/api/src/domain/models/digital-text/entities/digital-text.translate-page-content.spec.ts
PASS api apps/api/src/persistence/migrations/02/update-english-language-code.migration.spec.ts
PASS api apps/api/src/domain/models/digital-text/entities/digital-text.add-content-to-page.spec.ts
Failed to parse quantity. Invalid input. [quantity] cannot be bigger than 9999. Received: 10000000000
Failed to parse quantity. Invalid input. [quantity] cannot be bigger than 9999. Received: 10000
PASS api apps/api/src/coscrad-cli/seed-test-uuids.cli-command.e2e.spec.ts (9.739 s)
PASS api apps/api/src/persistence/database/utilities/mapArangoEdgeDocumentToEdgeConnectionDTO.spec.ts
PASS api apps/api/src/persistence/database/utilities/mapEdgeConnectionDTOToArangoEdgeDocument.spec.ts
PASS api apps/api/src/test-data/validateTestData.spec.ts
PASS api apps/api/src/coscrad-cli/list-migrations.cli-command.e2e.spec.ts
PASS api apps/api/src/persistence/repositories/arango-event-repository.e2e.spec.ts
PASS api apps/api/src/domain/models/digital-text/commands/translate-digital-text-page-content/translate-digital-text-page-content.command.type-validation.spec.ts
PASS api apps/api/src/domain/models/digital-text/commands/add-content-to-digital-text-page/add-content-to-digital-text-page.command.type-validation.spec.ts
PASS api apps/api/src/persistence/database/utilities/documentToDTOMappingPairsAreMutualInverses.spec.ts
PASS api apps/api/src/persistence/repositories/user-group-repository.integration.spec.ts
PASS api apps/api/src/domain/models/bibliographic-citation/common/commands/register-digital-representation-of-bibiliographic-citation/register-digital-representation-of-bibliographic-citation.command.type-validation.spec.ts
PASS api apps/api/src/domain/models/vocabulary-list/entities/vocabulary-list.validateContext.spec.ts
PASS api apps/api/src/coscrad-cli/data-dump.cli-command.e2e.spec.ts
PASS api apps/api/src/domain/models/photograph/commands/create-photograph/create-photograph.command.type-validation.spec.ts
PASS api apps/api/src/domain/models/vocabulary-list/commands/analyze-term-in-vocabulary-list/analyze-term-in-vocabulary-list.command.type-validation.spec.ts
PASS api apps/api/src/domain/models/vocabulary-list/commands/add-term-to-vocabulary-list/add-term-to-vocabulary-list.command.type-validation.spec.ts
PASS api apps/api/src/domain/models/digital-text/commands/add-audio-for-digital-text-title/add-audio-for-digital-text-title.command.type-validation.spec.ts
PASS api apps/api/src/domain/models/media-item/commands/create-media-item/create-media-item.command.type-validation.spec.ts
PASS api apps/api/src/domain/models/term/commands/create-prompt-term/create-prompt-term.command.type-validation.spec.ts
PASS api apps/api/src/domain/models/term/commands/add-audio-for-term/add-audio-for-term.command.type-validation.spec.ts
PASS api apps/api/src/domain/models/digital-text/entities/digital-text.translate-title.spec.ts
PASS api apps/api/src/app/config/config.spec.ts
PASS api apps/api/src/domain/models/digital-text/commands/translate-digital-text-page-content/translate-digital-text-title.command.type-validation.spec.ts
PASS api apps/api/src/domain/models/audio-item/commands/transcripts/import-translations-for-transcript/import-translations-for-transcript.command.type-validation.spec.ts
PASS api apps/api/src/domain/models/digital-text/entities/digital-text.add-page.spec.ts
PASS api apps/api/src/domain/models/term/entities/term.add-audio.spec.ts
PASS api apps/api/src/domain/models/term/entities/term.validateContext.spec.ts
PASS api apps/api/src/domain/models/shared/command-handlers/utilities/build-reference-tree.spec.ts
PASS api apps/api/src/persistence/repositories/CategoryRepository.e2e.spec.ts
PASS api apps/api/src/domain/common/build-multilingual-text-from-bilingual-text.spec.ts
PASS api apps/api/src/domain/models/digital-text/commands/add-photograph-to-digital-text-page/add-photograph-to-digital-text-page.command.type-validation.spec.ts
PASS api apps/api/src/domain/models/shared/access-control/access-control-list.spec.ts
PASS api apps/api/src/domain/models/digital-text/entities/digital-text.add-photograph-to-page.spec.ts
PASS api apps/api/src/domain/models/digital-text/entities/digital-text.validate-context.spec.ts
PASS api apps/api/src/domain/common/events/coscrad-event-factory.spec.ts
PASS api apps/api/src/domain/models/media-item/entities/media-item.validate-invariants.spec.ts
PASS api apps/api/src/validation/dynamic-data-type-finder.service.spec.ts
PASS api apps/api/src/lib/utilities/cloneToPlainObject.unit.spec.ts
PASS api apps/api/src/domain/models/allowedContexts/getAllowedContextsForModel.spec.ts
PASS api apps/api/src/app/controllers/__tests__/tagQueries.e2e.spec.ts
PASS api apps/api/src/domain/models/cloneEntity.unit.spec.ts
PASS api apps/api/src/domain/domainModelValidators/__tests__/domainModelValidators/categoryValidator.spec.ts
PASS api apps/api/src/domain/models/__tests__/aggregate-schemas.spec.ts
PASS api apps/api/src/domain/domainModelValidators/__tests__/contextValidators/edgeConnectionContextValidators.spec.ts
PASS api apps/api/src/lib/utilities/clonePlainObjectWithoutProperty.spec.ts
PASS api apps/api/src/persistence/repositories/__tests__/buildTestDatabaseSuffixFromFilePath.spec.ts
PASS api apps/api/src/domain/domainModelValidators/__tests__/contextValidators/edgeConnectionValidator/edgeConnectionValidator.spec.ts
PASS api apps/api/src/app/controllers/__tests__/categoryQueries.e2e.spec.ts
PASS api apps/api/src/domain/models/user-management/user/invariant-validation/validateCoscradUser.spec.ts
PASS api apps/api/src/domain/models/shared/command-handlers/utilities/reference-tree.spec.ts
PASS api apps/api/src/domain/services/query-services/media-management/fs-media-prober.probe.spec.ts
PASS api apps/api/src/queries/buildViewModelForResource/viewModels/utilities/graph/buildTreeFromNodes/findRoot.spec.ts
PASS api apps/api/src/domain/models/shared/functional/common/not.spec.ts
PASS api apps/api/src/domain/models/bibliographic-citation/court-case-bibliographic-citation/invariant-validation/court-case-bibliographic-citation-invariant-validation.spec.ts
FAIL api apps/api/src/app/controllers/__tests__/resourceDescriptions.e2e.spec.ts
  ● GET /resources › should return the expected result

    expect(received).toMatchSnapshot()

    Snapshot name: `GET /resources should return the expected result 1`

    - Snapshot  -   0
    + Received  + 164

    @@ -387,10 +387,17 @@
          "description": "An audio item includes a link for playback and possibly a transcript.",
          "label": "Transcribed Audio Item",
          "link": "/resources/audioItems",
          "pluralLabel": "Transcribed Audio Items",
          "schema": {
    +       "annotations": {
    +         "coscradDataType": "NON_EMPTY_STRING",
    +         "description": "time-range contextualized notes for this audio item",
    +         "isArray": false,
    +         "isOptional": false,
    +         "label": "annotations",
    +       },
            "audioURL": {
              "coscradDataType": "URL",
              "description": "a web link to an accompanying digital audio file",
              "isArray": false,
              "isOptional": false,
    @@ -548,10 +555,167 @@
              "coscradDataType": "NON_EMPTY_STRING",
              "description": "a plain-text representation of the transcript",
              "isArray": false,
              "isOptional": false,
              "label": "plain text",
    +       },
    +       "transcript": {
    +         "complexDataType": "NESTED_TYPE",
    +         "description": "time aligned transcription of the audio item",
    +         "isArray": false,
    +         "isOptional": true,
    +         "label": "transcript",
    +         "schema": {
    +           "items": {
    +             "complexDataType": "NESTED_TYPE",
    +             "description": "time stamps with text and speaker labels",
    +             "isArray": true,
    +             "isOptional": true,
    +             "label": "items",
    +             "schema": {
    +               "inPointMilliseconds": {
    +                 "coscradDataType": "NON_NEGATIVE_FINITE_NUMBER",
    +                 "description": "starting time stamp (ms)",
    +                 "isArray": false,
    +                 "isOptional": false,
    +                 "label": "in point",
    +               },
    +               "outPointMilliseconds": {
    +                 "coscradDataType": "NON_NEGATIVE_FINITE_NUMBER",
    +                 "description": "ending time stamp (ms)",
    +                 "isArray": false,
    +                 "isOptional": false,
    +                 "label": "out point",
    +               },
    +               "speakerInitials": {
    +                 "coscradDataType": "NON_EMPTY_STRING",
    +                 "description": "the label for the current timestamped item",
    +                 "isArray": false,
    +                 "isOptional": false,
    +                 "label": "label",
    +               },
    +               "text": {
    +                 "complexDataType": "NESTED_TYPE",
    +                 "description": "multi-lingual text transcription \ translation for this item",
    +                 "isArray": false,
    +                 "isOptional": false,
    +                 "label": "text",
    +                 "schema": {
    +                   "items": {
    +                     "complexDataType": "NESTED_TYPE",
    +                     "description": "one item for each provided language",
    +                     "isArray": true,
    +                     "isOptional": false,
    +                     "label": "items",
    +                     "schema": {
    +                       "languageCode": {
    +                         "complexDataType": "ENUM",
    +                         "description": "an official identifier of the language",
    +                         "enumLabel": "Language_Code",
    +                         "enumName": "LangaugeCode",
    +                         "isArray": false,
    +                         "isOptional": false,
    +                         "label": "language code",
    +                         "labelsAndValues": [
    +                           {
    +                             "label": "Chilcotin",
    +                             "value": "clc",
    +                           },
    +                           {
    +                             "label": "Haida",
    +                             "value": "hai",
    +                           },
    +                           {
    +                             "label": "English",
    +                             "value": "en",
    +                           },
    +                           {
    +                             "label": "French",
    +                             "value": "fra",
    +                           },
    +                           {
    +                             "label": "Chinook",
    +                             "value": "chn",
    +                           },
    +                           {
    +                             "label": "Zapotec",
    +                             "value": "zap",
    +                           },
    +                           {
    +                             "label": "Spanish",
    +                             "value": "spa",
    +                           },
    +                         ],
    +                       },
    +                       "role": {
    +                         "complexDataType": "ENUM",
    +                         "description": "role of this text in the translation process",
    +                         "enumLabel": "text item role",
    +                         "enumName": "Multilingual Text Item Role",
    +                         "isArray": false,
    +                         "isOptional": false,
    +                         "label": "text item role",
    +                         "labelsAndValues": [
    +                           {
    +                             "label": "original",
    +                             "value": "original",
    +                           },
    +                           {
    +                             "label": "glossed to",
    +                             "value": "glossed to",
    +                           },
    +                           {
    +                             "label": "free translation",
    +                             "value": "free translation",
    +                           },
    +                           {
    +                             "label": "literal translation",
    +                             "value": "literal translation",
    +                           },
    +                           {
    +                             "label": "elicited from a prompt",
    +                             "value": "elicited from a prompt",
    +                           },
    +                         ],
    +                       },
    +                       "text": {
    +                         "coscradDataType": "NON_EMPTY_STRING",
    +                         "description": "plain text in the given language",
    +                         "isArray": false,
    +                         "isOptional": false,
    +                         "label": "text",
    +                       },
    +                     },
    +                   },
    +                 },
    +               },
    +             },
    +           },
    +           "participants": {
    +             "complexDataType": "NESTED_TYPE",
    +             "description": "a list of participants and their initials",
    +             "isArray": true,
    +             "isOptional": true,
    +             "label": "participants",
    +             "schema": {
    +               "initials": {
    +                 "coscradDataType": "NON_EMPTY_STRING",
    +                 "description": "the initials or text identifier for this speaker",
    +                 "isArray": false,
    +                 "isOptional": false,
    +                 "label": "speaker initials",
    +               },
    +               "name": {
    +                 "coscradDataType": "NON_EMPTY_STRING",
    +                 "description": "the participant's name",
    +                 "isArray": false,
    +                 "isOptional": false,
    +                 "label": "name",
    +               },
    +             },
    +           },
    +         },
            },
          },
          "type": "audioItem",
        },
        {

      47 |         const result = await request(app.getHttpServer()).get('/resources');
      48 |
    > 49 |         expect(result.body).toMatchSnapshot();
         |                             ^
      50 |     });
      51 |
      52 |     afterAll(async () => {

      at src/app/controllers/__tests__/resourceDescriptions.e2e.spec.ts:49:29
      at fulfilled (../../node_modules/tslib/tslib.js:166:62)

 › 1 snapshot failed.
PASS api apps/api/src/lib/utilities/clonePlainObjectWithoutProperties.spec.ts
PASS api apps/api/src/persistence/database/collection-references/getArangoCollectionIDFromResourceType.spec.ts
PASS api apps/api/src/app/controllers/utilities/filterOutUnpublishedEntities.spec.ts
PASS api apps/api/src/app/controllers/id-generation/id-generation-controller.e2e.spec.ts
PASS api apps/api/src/persistence/database/arango-connection.provider.spec.ts
PASS api apps/api/src/queries/resourceDescriptions/aggregate-descriptions-should-be-comprehensive.unit.spec.ts
PASS api apps/api/src/lib/utilities/strings/capitalizeEveryFirstLetter.spec.ts
PASS api apps/api/src/persistence/database/utilities/mapEntityDTOToDatabaseDTO.spec.ts
PASS api apps/api/src/domain/models/user-management/group/entities/invariant-validation/coscradUserGroupInvariantValidation.spec.ts
PASS api apps/api/src/queries/buildViewModelForResource/viewModels/tag.view-model.event-sourced.from-event-history.spec.ts
PASS api apps/api/src/domain/common/build-multilingual-text-with-single-item.spec.ts
PASS api apps/api/src/app/controllers/__tests__/https-barebones.spec.ts
PASS api apps/api/src/domain/utilities/validation/findDuplicatesInStringArray.unit.spec.ts
PASS api apps/api/src/domain/utilities/validation/determine-all-missing-required-properties.spec.ts
PASS api apps/api/src/persistence/database/utilities/mapDatabaseDTOToEntityDTO.spec.ts
PASS api apps/api/src/lib/utilities/strings/capitalizeFirstLetter.spec.ts
PASS api apps/api/src/persistence/database/no-aql-injection.integration.spec.ts
PASS api apps/api/src/domain/models/playlist/entities/playlist.entity.spec.ts
PASS api apps/api/src/domain/models/spatial-feature/types/isGeometricFeatureType.unit.spec.ts
PASS api apps/api/src/test-data/everyResourceTypeShouldHaveACollection.spec.ts
PASS api apps/api/src/queries/dynamicForms/buildCommandForm.spec.ts
PASS api apps/api/src/domain/models/spatial-feature/types/geometricFeatureTypeToSpatialFeatureCtor.spec.ts
PASS api apps/api/src/queries/buildViewModelForResource/viewModels/utilities/graph/buildTreeFromNodes.spec.ts
PASS api apps/api/src/app/controllers/command/command-payload-schemas.spec.ts

Summary of all failing tests
FAIL src/app/controllers/__tests__/fetchManyViewModels.e2e.spec.ts (7.583 s)
  ● When fetching multiple resources › GET /resources/audioItems › when all of the resources are published › should fetch multiple resources of type audioItem

    expect(received).toMatchSnapshot()

    Snapshot name: `When fetching multiple resources GET /resources/audioItems when all of the resources are published should fetch multiple resources of type audioItem 1`

    - Snapshot  -   0
    + Received  + 141

    @@ -1,9 +1,10 @@
      {
        "entities": [
          {
            "actions": [],
    +       "annotations": [],
            "audioURL": "https://coscrad.org/wp-content/uploads/2023/05/metal-mondays-mock1_533847__tosha73__distortion-guitar-power-chord-e.wav",
            "id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b110110",
            "lengthMilliseconds": 20000,
            "mimeType": "audio/wav",
            "name": {
    @@ -16,13 +17,52 @@
              ],
            },
            "tags": [],
            "text": "[12000] [JHC] There once was a little wooden boy. {en} (role: original) [15550]
      [18300] [JHC] His name was Pinocchio {en} (role: original) [19240]",
    +       "transcript": {
    +         "items": [
    +           {
    +             "inPointMilliseconds": 12000,
    +             "outPointMilliseconds": 15550,
    +             "speakerInitials": "JHC",
    +             "text": {
    +               "items": [
    +                 {
    +                   "languageCode": "en",
    +                   "role": "original",
    +                   "text": "There once was a little wooden boy.",
    +                 },
    +               ],
    +             },
    +           },
    +           {
    +             "inPointMilliseconds": 18300,
    +             "outPointMilliseconds": 19240,
    +             "speakerInitials": "JHC",
    +             "text": {
    +               "items": [
    +                 {
    +                   "languageCode": "en",
    +                   "role": "original",
    +                   "text": "His name was Pinocchio",
    +                 },
    +               ],
    +             },
    +           },
    +         ],
    +         "participants": [
    +           {
    +             "initials": "JHC",
    +             "name": "Jimmy H. Cricket",
    +           },
    +         ],
    +       },
          },
          {
            "actions": [],
    +       "annotations": [],
            "audioURL": "https://coscrad.org/wp-content/uploads/2023/05/metal-mondays-mock2_370934__karolist__guitar-solo.mp3",
            "id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b110111",
            "lengthMilliseconds": 23409,
            "mimeType": "audio/mpeg",
            "name": {
    @@ -36,13 +76,70 @@
            },
            "tags": [],
            "text": "[3400] [BL] While she went down to the river {en} (role: original) [3670]
      [3700] [SD] someone had already filled the water tank. {en} (role: original) [3980]
      [4010] [BL] These were the types of problems we had. {en} (role: original) [4290]",
    +       "transcript": {
    +         "items": [
    +           {
    +             "inPointMilliseconds": 3400,
    +             "outPointMilliseconds": 3670,
    +             "speakerInitials": "BL",
    +             "text": {
    +               "items": [
    +                 {
    +                   "languageCode": "en",
    +                   "role": "original",
    +                   "text": "While she went down to the river",
    +                 },
    +               ],
    +             },
    +           },
    +           {
    +             "inPointMilliseconds": 3700,
    +             "outPointMilliseconds": 3980,
    +             "speakerInitials": "SD",
    +             "text": {
    +               "items": [
    +                 {
    +                   "languageCode": "en",
    +                   "role": "original",
    +                   "text": "someone had already filled the water tank.",
    +                 },
    +               ],
    +             },
    +           },
    +           {
    +             "inPointMilliseconds": 4010,
    +             "outPointMilliseconds": 4290,
Output truncated.

Details

  • Declarative: Checkout SCM (2.5 sec)
    • ci (13 min)
      Error: script returned exit code 1
    • build and deploy to staging (5.7 sec)
      • install dependencies (0.82 sec)
      • build front-end for COSCRAD sandbox (0.89 sec)
      • build front-end for Haida sandbox (0.94 sec)
      • build back-end (0.81 sec)
      • build cli (0.85 sec)