Fixes #419; make legacy project lookup allow missing request body #52
Annotations
10 errors, 26 warnings, and 1 notice
Integration tests (Playwright):
frontend/tests/pages/basePage.ts#L58
1) [chromium] › emailWorkflow.test.ts:115:1 › register via new-user invitation email ─────────────
Error: Timed out 5000ms waiting for expect(locator).toBeVisible()
Locator: locator('[id^=\'row_\']').first()
Expected: visible
Received: hidden
Call log:
- expect.toBeVisible with timeout 5000ms
- waiting for locator('[id^=\'row_\']').first()
at pages/basePage.ts:58
56 | }
57 | await BasePage.waitForHydration(this.page); // wait for, e.g., onclick handlers to be attached
> 58 | await Promise.all(this.locators.map(l => expect(l).toBeVisible()));
| ^
59 | return this;
60 | }
61 |
at map (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:58:56)
at MailinatorInboxPage.waitFor (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:58:37)
at MailinatorInboxPage.goto (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:43:7)
at /home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/emailWorkflow.test.ts:132:21
|
Integration tests (Playwright):
frontend/tests/pages/basePage.ts#L58
1) [chromium] › emailWorkflow.test.ts:115:1 › register via new-user invitation email ─────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: Timed out 5000ms waiting for expect(locator).toBeVisible()
Locator: locator('[id^=\'row_\']').first()
Expected: visible
Received: hidden
Call log:
- expect.toBeVisible with timeout 5000ms
- waiting for locator('[id^=\'row_\']').first()
at pages/basePage.ts:58
56 | }
57 | await BasePage.waitForHydration(this.page); // wait for, e.g., onclick handlers to be attached
> 58 | await Promise.all(this.locators.map(l => expect(l).toBeVisible()));
| ^
59 | return this;
60 | }
61 |
at map (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:58:56)
at MailinatorInboxPage.waitFor (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:58:37)
at MailinatorInboxPage.goto (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:43:7)
at /home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/emailWorkflow.test.ts:132:21
|
Integration tests (Playwright):
frontend/tests/pages/basePage.ts#L58
2) [chromium] › errorHandling.test.ts:140:1 › page load 403 on home page is redirected to login ──
Error: Timed out 5000ms waiting for expect(locator).toBeVisible()
Locator: locator('[id^=\'row_\']').first()
Expected: visible
Received: hidden
Call log:
- expect.toBeVisible with timeout 5000ms
- waiting for locator('[id^=\'row_\']').first()
at pages/basePage.ts:58
56 | }
57 | await BasePage.waitForHydration(this.page); // wait for, e.g., onclick handlers to be attached
> 58 | await Promise.all(this.locators.map(l => expect(l).toBeVisible()));
| ^
59 | return this;
60 | }
61 |
at map (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:58:56)
at MailinatorInboxPage.waitFor (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:58:37)
at MailinatorInboxPage.goto (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:43:7)
at /home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/errorHandling.test.ts:152:21
|
Integration tests (Playwright):
frontend/tests/pages/basePage.ts#L58
2) [chromium] › errorHandling.test.ts:140:1 › page load 403 on home page is redirected to login ──
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: Timed out 5000ms waiting for expect(locator).toBeVisible()
Locator: locator('[id^=\'row_\']').first()
Expected: visible
Received: hidden
Call log:
- expect.toBeVisible with timeout 5000ms
- waiting for locator('[id^=\'row_\']').first()
at pages/basePage.ts:58
56 | }
57 | await BasePage.waitForHydration(this.page); // wait for, e.g., onclick handlers to be attached
> 58 | await Promise.all(this.locators.map(l => expect(l).toBeVisible()));
| ^
59 | return this;
60 | }
61 |
at map (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:58:56)
at MailinatorInboxPage.waitFor (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:58:37)
at MailinatorInboxPage.goto (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:43:7)
at /home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/errorHandling.test.ts:152:21
|
Integration tests (Playwright):
frontend/tests/emailWorkflow.test.ts#L92
3) [firefox] › emailWorkflow.test.ts:79:1 › forgot password ──────────────────────────────────────
Error: expect(received).toContain(expected) // indexOf
Expected substring: "resetPassword"
Received string: "https://staging.languagedepot.org/api/login/verifyEmail?jwt=***"
90 | const resetPasswordUrl = await emailPage.getFirstLanguageDepotUrl();
91 | expect(resetPasswordUrl).not.toBeNull();
> 92 | expect(resetPasswordUrl!).toContain('resetPassword');
| ^
93 |
94 | const pagePromise = emailPage.page.context().waitForEvent('page');
95 | await emailPage.clickResetPassword();
at /home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/emailWorkflow.test.ts:92:29
|
Integration tests (Playwright):
frontend/tests/emailWorkflow.test.ts#L92
3) [firefox] › emailWorkflow.test.ts:79:1 › forgot password ──────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toContain(expected) // indexOf
Expected substring: "resetPassword"
Received string: "https://staging.languagedepot.org/api/login/verifyEmail?jwt=***"
90 | const resetPasswordUrl = await emailPage.getFirstLanguageDepotUrl();
91 | expect(resetPasswordUrl).not.toBeNull();
> 92 | expect(resetPasswordUrl!).toContain('resetPassword');
| ^
93 |
94 | const pagePromise = emailPage.page.context().waitForEvent('page');
95 | await emailPage.clickResetPassword();
at /home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/emailWorkflow.test.ts:92:29
|
Integration tests (Playwright):
frontend/tests/pages/basePage.ts#L58
4) [firefox] › emailWorkflow.test.ts:115:1 › register via new-user invitation email ──────────────
Error: Timed out 5000ms waiting for expect(locator).toBeVisible()
Locator: locator('[id^=\'row_\']').first()
Expected: visible
Received: hidden
Call log:
- expect.toBeVisible with timeout 5000ms
- waiting for locator('[id^=\'row_\']').first()
at pages/basePage.ts:58
56 | }
57 | await BasePage.waitForHydration(this.page); // wait for, e.g., onclick handlers to be attached
> 58 | await Promise.all(this.locators.map(l => expect(l).toBeVisible()));
| ^
59 | return this;
60 | }
61 |
at map (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:58:56)
at MailinatorInboxPage.waitFor (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:58:37)
at MailinatorInboxPage.goto (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:43:7)
at /home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/emailWorkflow.test.ts:132:21
|
Integration tests (Playwright):
frontend/tests/pages/basePage.ts#L58
4) [firefox] › emailWorkflow.test.ts:115:1 › register via new-user invitation email ──────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: Timed out 5000ms waiting for expect(locator).toBeVisible()
Locator: locator('[id^=\'row_\']').first()
Expected: visible
Received: hidden
Call log:
- expect.toBeVisible with timeout 5000ms
- waiting for locator('[id^=\'row_\']').first()
at pages/basePage.ts:58
56 | }
57 | await BasePage.waitForHydration(this.page); // wait for, e.g., onclick handlers to be attached
> 58 | await Promise.all(this.locators.map(l => expect(l).toBeVisible()));
| ^
59 | return this;
60 | }
61 |
at map (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:58:56)
at MailinatorInboxPage.waitFor (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:58:37)
at MailinatorInboxPage.goto (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:43:7)
at /home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/emailWorkflow.test.ts:132:21
|
Integration tests (Playwright):
frontend/tests/fixtures.ts#L35
5) [chromium] › resetProject.test.ts:20:1 › reset project and upload .zip file ───────────────────
Error: Unexpected response: 500
expect(received).toBeLessThan(expected)
Expected: < 500
Received: 500
at fixtures.ts:35
33 | function addUnexpectedResponseListener(context: BrowserContext): void {
34 | context.addListener('response', response => {
> 35 | expect.soft(response.status(), `Unexpected response: ${response.status()}`).toBeLessThan(500);
| ^
36 | if (response.request().isNavigationRequest()) {
37 | expect.soft(response.status(), `Unexpected response: ${response.status()}`).toBeLessThan(400);
38 | }
at BrowserContext.<anonymous> (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/fixtures.ts:35:81)
|
Integration tests (Playwright):
frontend/tests/fixtures.ts#L35
5) [chromium] › resetProject.test.ts:20:1 › reset project and upload .zip file ───────────────────
Error: Unexpected response: 500
expect(received).toBeLessThan(expected)
Expected: < 500
Received: 500
at fixtures.ts:35
33 | function addUnexpectedResponseListener(context: BrowserContext): void {
34 | context.addListener('response', response => {
> 35 | expect.soft(response.status(), `Unexpected response: ${response.status()}`).toBeLessThan(500);
| ^
36 | if (response.request().isNavigationRequest()) {
37 | expect.soft(response.status(), `Unexpected response: ${response.status()}`).toBeLessThan(400);
38 | }
at BrowserContext.<anonymous> (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/fixtures.ts:35:81)
|
Publish unit test results
Running this action via 'uses: EnricoMi/publish-unit-test-result-action/composite@v2 is deprecated! For details, see: https://github.com/EnricoMi/publish-unit-test-result-action/tree/v2#running-as-a-composite-action
|
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/setup-dotnet@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
|
Dotnet build:
backend/FixFwData/Program.cs#L1
The variable 'doNothing' is assigned but its value is never used
|
Dotnet build:
backend/MiniLcm/MultiString.cs#L53
Nullability of reference types in type of parameter 'value' doesn't match implemented member 'void IDictionary.Add(object key, object? value)' (possibly because of nullability attributes).
|
Dotnet build:
backend/MiniLcm/WritingSystemId.cs#L30
Non-nullable property 'Name' must contain a non-null value when exiting constructor. Consider declaring the property as nullable.
|
Dotnet build:
backend/MiniLcm/WritingSystemId.cs#L31
Non-nullable property 'Abbreviation' must contain a non-null value when exiting constructor. Consider declaring the property as nullable.
|
Dotnet build:
backend/MiniLcm/WritingSystemId.cs#L32
Non-nullable property 'Font' must contain a non-null value when exiting constructor. Consider declaring the property as nullable.
|
Dotnet build:
backend/MiniLcm/WritingSystemId.cs#L10
Possible null reference argument for parameter 's' in 'WritingSystemId WritingSystemId.Parse(string s, IFormatProvider? provider)'.
|
Dotnet build:
backend/MiniLcm/WritingSystemId.cs#L19
Possible null reference argument for parameter 's' in 'WritingSystemId WritingSystemId.Parse(string s, IFormatProvider? provider)'.
|
Dotnet build:
backend/MiniLcm/InMemoryApi.cs#L166
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Dotnet build:
backend/MiniLcm/InMemoryApi.cs#L190
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Dotnet build:
backend/LexCore/Entities/FlexProjectMetadata.cs#L7
Non-nullable property 'Project' must contain a non-null value when exiting constructor. Consider declaring the property as nullable.
|
Integration tests (.NET)
The "--output" option isn't supported when building a solution. Specifying a solution-level output path results in all projects copying outputs to the same directory, which can lead to inconsistent builds.
|
Integration tests (.NET):
backend/LfClassicData/LfClassicConfig.cs#L5
Non-nullable property 'ConnectionString' must contain a non-null value when exiting constructor. Consider declaring the property as nullable.
|
Integration tests (.NET):
backend/LfClassicData/Entities/LfId.cs#L123
Dereference of a possibly null reference.
|
Integration tests (.NET):
backend/LfClassicData/LfClassicLexboxApi.cs#L156
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Integration tests (.NET):
backend/LexBoxApi/Auth/Attributes/LexboxAuthAttribute.cs#L15
Nullability of reference types in type of parameter 'value' of 'void LexboxAuthAttribute.Policy.set' doesn't match implicitly implemented member 'void IAuthorizeData.Policy.set' (possibly because of nullability attributes).
|
Integration tests (.NET):
backend/LexBoxApi/Services/EmailService.cs#L102
Cannot convert null literal to non-nullable reference type.
|
Integration tests (.NET):
backend/LexBoxApi/Services/UserService.cs#L7
Parameter 'lexAuthService' is unread.
|
Integration tests (.NET):
backend/LexBoxApi/Auth/LoggedInContext.cs#L24
Possible null reference argument for parameter 'activity' in 'void ActivityExtensions.RecordException(Activity activity, Exception? ex)'.
|
Integration tests (.NET):
backend/LexBoxApi/Controllers/LoginController.cs#L32
Parameter 'projectService' is unread.
|
Integration tests (.NET):
backend/LexBoxApi/Jobs/CleanupResetBackupJob.cs#L7
Parameter 'hgService' is unread.
|
Build for tests:
backend/Testing/LexCore/LexAuthUserTests.cs#L55
Possible null reference argument for parameter 'value' in 'Claim.Claim(string type, string value)'.
|
Build for tests:
backend/Testing/LexCore/LexAuthUserTests.cs#L182
Dereference of a possibly null reference.
|
Build for tests:
backend/Testing/LexCore/LexAuthUserTests.cs#L55
Possible null reference argument for parameter 'value' in 'Claim.Claim(string type, string value)'.
|
Build for tests:
backend/Testing/LexCore/LexAuthUserTests.cs#L182
Dereference of a possibly null reference.
|
Integration tests (Playwright)
4 failed
[chromium] › emailWorkflow.test.ts:115:1 › register via new-user invitation email ──────────────
[chromium] › errorHandling.test.ts:140:1 › page load 403 on home page is redirected to login ───
[firefox] › emailWorkflow.test.ts:79:1 › forgot password ───────────────────────────────────────
[firefox] › emailWorkflow.test.ts:115:1 › register via new-user invitation email ───────────────
4 flaky
[chromium] › resetProject.test.ts:20:1 › reset project and upload .zip file ────────────────────
[chromium] › userPage.test.ts:29:1 › can reset password ────────────────────────────────────────
[firefox] › errorHandling.test.ts:140:1 › page load 403 on home page is redirected to login ────
[firefox] › resetProject.test.ts:20:1 › reset project and upload .zip file ─────────────────────
52 passed (6.5m)
|
Loading