mergify[bot]
f8dc360b70
Merge branch 'main' into renovate/coverlet.collector-10.x
2026-08-25 00:00:04 +00:00
renovate[bot]
6b89f4d502
chore(deps): update dependency fluentassertions to v8 ( #343 )
2026-08-24 23:47:11 +00:00
renovate[bot]
191bc136fe
chore(deps): update dependency coverlet.collector to v10
2026-08-24 22:04:07 +00:00
dependabot[bot]
aa6dfe6e84
chore(deps): bump xunit.runner.visualstudio from 3.1.5 to 4.0.0 ( #308 )
...
---
updated-dependencies:
- dependency-name: xunit.runner.visualstudio
dependency-version: 4.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-17 23:10:09 +00:00
dependabot[bot]
1e740d3204
chore(deps): misc version bumps ( #306 )
...
Bumps Microsoft.AspNetCore.Authentication.JwtBearer from 8.0.29 to 8.0.30
Bumps Microsoft.EntityFrameworkCore from 8.0.29 to 8.0.30
Bumps Microsoft.EntityFrameworkCore.Design from 8.0.29 to 8.0.30
Bumps Microsoft.EntityFrameworkCore.InMemory from 8.0.29 to 8.0.30
Bumps Microsoft.EntityFrameworkCore.Sqlite from 8.0.29 to 8.0.30
Bumps Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore from 8.0.29 to 8.0.30
Bumps Microsoft.NET.Test.Sdk from 18.8.1 to 18.9.0
Bumps NSubstitute from 6.0.0 to 6.2.0
---
updated-dependencies:
- dependency-name: Microsoft.AspNetCore.Authentication.JwtBearer
dependency-version: 8.0.30
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: Microsoft.EntityFrameworkCore
dependency-version: 8.0.30
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: Microsoft.EntityFrameworkCore.Design
dependency-version: 8.0.30
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: Microsoft.EntityFrameworkCore.InMemory
dependency-version: 8.0.30
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: Microsoft.EntityFrameworkCore.Sqlite
dependency-version: 8.0.30
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore
dependency-version: 8.0.30
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: Microsoft.NET.Test.Sdk
dependency-version: 18.9.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: api
- dependency-name: NSubstitute
dependency-version: 6.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: api
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-17 22:48:15 +00:00
Adam Moussa
d011b66467
build(deps): batch Dependabot updates (#232-#240, #242 ) ( #243 )
...
* build(deps): bump the infra group in /infra with 3 updates
Bumps the infra group in /infra with 3 updates: [constructs](https://github.com/aws/constructs ), [aws-cdk](https://github.com/aws/aws-cdk-cli/tree/HEAD/packages/aws-cdk ) and [tsx](https://github.com/privatenumber/tsx ).
Updates `constructs` from 10.6.0 to 10.7.0
- [Release notes](https://github.com/aws/constructs/releases )
- [Commits](https://github.com/aws/constructs/compare/v10.6.0...v10.7.0 )
Updates `aws-cdk` from 2.1130.0 to 2.1132.0
- [Release notes](https://github.com/aws/aws-cdk-cli/releases )
- [Commits](https://github.com/aws/aws-cdk-cli/commits/aws-cdk@v2.1132.0/packages/aws-cdk )
Updates `tsx` from 4.23.0 to 4.23.1
- [Release notes](https://github.com/privatenumber/tsx/releases )
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs )
- [Commits](https://github.com/privatenumber/tsx/compare/v4.23.0...v4.23.1 )
---
updated-dependencies:
- dependency-name: constructs
dependency-version: 10.7.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: infra
- dependency-name: aws-cdk
dependency-version: 2.1132.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: infra
- dependency-name: tsx
dependency-version: 4.23.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: infra
...
Signed-off-by: dependabot[bot] <support@github.com>
* build(deps): update boto3 requirement in /lambdas/aurora-pgvector-init
Updates the requirements on [boto3](https://github.com/boto/boto3 ) to permit the latest version.
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.46...1.43.51 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.51
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* build(deps): update boto3 requirement in /lambdas/suggestions
Updates the requirements on [boto3](https://github.com/boto/boto3 ) to permit the latest version.
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.46...1.43.51 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.51
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* build(deps): update boto3 requirement in /lambdas/pdf-extract
Updates the requirements on [boto3](https://github.com/boto/boto3 ) to permit the latest version.
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.46...1.43.51 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.51
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* build(deps): update boto3 requirement in /lambdas/pdf-generate
Updates the requirements on [boto3](https://github.com/boto/boto3 ) to permit the latest version.
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.46...1.43.51 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.51
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* build(deps): bump the web group in /web with 3 updates
Bumps the web group in /web with 3 updates: [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react ), [react-hook-form](https://github.com/react-hook-form/react-hook-form ) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ).
Updates `lucide-react` from 1.24.0 to 1.25.0
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/1.25.0/packages/lucide-react )
Updates `react-hook-form` from 7.81.0 to 7.82.0
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases )
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md )
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.81.0...v7.82.0 )
Updates `vite` from 8.1.4 to 8.1.5
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v8.1.5/packages/vite )
---
updated-dependencies:
- dependency-name: lucide-react
dependency-version: 1.25.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: web
- dependency-name: react-hook-form
dependency-version: 7.82.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: web
- dependency-name: vite
dependency-version: 8.1.5
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: web
...
Signed-off-by: dependabot[bot] <support@github.com>
* build(deps): bump the mobile-npm group in /mobile with 4 updates
Bumps the mobile-npm group in /mobile with 4 updates: [@react-navigation/bottom-tabs](https://github.com/react-navigation/react-navigation/tree/HEAD/packages/bottom-tabs ), [@react-navigation/native](https://github.com/react-navigation/react-navigation/tree/HEAD/packages/native ), [@react-navigation/native-stack](https://github.com/react-navigation/react-navigation/tree/HEAD/packages/native-stack ) and [react-native-screens](https://github.com/software-mansion/react-native-screens ).
Updates `@react-navigation/bottom-tabs` from 7.18.8 to 7.18.11
- [Release notes](https://github.com/react-navigation/react-navigation/releases )
- [Changelog](https://github.com/react-navigation/react-navigation/blob/@react-navigation/bottom-tabs@7.18.11/packages/bottom-tabs/CHANGELOG.md )
- [Commits](https://github.com/react-navigation/react-navigation/commits/@react-navigation/bottom-tabs@7.18.11/packages/bottom-tabs )
Updates `@react-navigation/native` from 7.3.8 to 7.3.11
- [Release notes](https://github.com/react-navigation/react-navigation/releases )
- [Changelog](https://github.com/react-navigation/react-navigation/blob/@react-navigation/native@7.3.11/packages/native/CHANGELOG.md )
- [Commits](https://github.com/react-navigation/react-navigation/commits/@react-navigation/native@7.3.11/packages/native )
Updates `@react-navigation/native-stack` from 7.17.10 to 7.18.3
- [Release notes](https://github.com/react-navigation/react-navigation/releases )
- [Changelog](https://github.com/react-navigation/react-navigation/blob/@react-navigation/native-stack@7.18.3/packages/native-stack/CHANGELOG.md )
- [Commits](https://github.com/react-navigation/react-navigation/commits/@react-navigation/native-stack@7.18.3/packages/native-stack )
Updates `react-native-screens` from 4.26.0 to 4.26.2
- [Release notes](https://github.com/software-mansion/react-native-screens/releases )
- [Commits](https://github.com/software-mansion/react-native-screens/compare/4.26.0...4.26.2 )
---
updated-dependencies:
- dependency-name: "@react-navigation/bottom-tabs"
dependency-version: 7.18.11
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: mobile-npm
- dependency-name: "@react-navigation/native"
dependency-version: 7.3.11
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: mobile-npm
- dependency-name: "@react-navigation/native-stack"
dependency-version: 7.18.3
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: mobile-npm
- dependency-name: react-native-screens
dependency-version: 4.26.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: mobile-npm
...
Signed-off-by: dependabot[bot] <support@github.com>
* build(deps): update boto3 requirement in /lambdas/library-ingest
Updates the requirements on [boto3](https://github.com/boto/boto3 ) to permit the latest version.
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.46...1.43.51 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.51
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* Bump the api group with 7 updates
Bumps Microsoft.AspNetCore.Authentication.JwtBearer from 8.0.28 to 8.0.29
Bumps Microsoft.EntityFrameworkCore from 8.0.28 to 8.0.29
Bumps Microsoft.EntityFrameworkCore.Design from 8.0.28 to 8.0.29
Bumps Microsoft.EntityFrameworkCore.InMemory from 8.0.28 to 8.0.29
Bumps Microsoft.EntityFrameworkCore.Sqlite from 8.0.28 to 8.0.29
Bumps Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore from 8.0.28 to 8.0.29
Bumps Microsoft.NET.Test.Sdk from 18.7.0 to 18.8.1
---
updated-dependencies:
- dependency-name: Microsoft.AspNetCore.Authentication.JwtBearer
dependency-version: 8.0.29
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: Microsoft.EntityFrameworkCore
dependency-version: 8.0.29
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: Microsoft.EntityFrameworkCore.Design
dependency-version: 8.0.29
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: Microsoft.EntityFrameworkCore.InMemory
dependency-version: 8.0.29
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: Microsoft.EntityFrameworkCore.Sqlite
dependency-version: 8.0.29
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore
dependency-version: 8.0.29
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: Microsoft.NET.Test.Sdk
dependency-version: 18.8.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: api
...
Signed-off-by: dependabot[bot] <support@github.com>
* Bump NSubstitute from 5.3.0 to 6.0.0
---
updated-dependencies:
- dependency-name: NSubstitute
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-21 15:51:33 -04:00
dependabot[bot]
cac18d6b16
Bump the api group with 1 update ( #192 )
2026-07-04 14:10:10 -04:00
dependabot[bot]
433198c4e8
Bump xunit.runner.visualstudio from 2.8.2 to 3.1.5 ( #162 )
...
---
updated-dependencies:
- dependency-name: xunit.runner.visualstudio
dependency-version: 3.1.5
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-22 19:47:23 +00:00
dependabot[bot]
b1a330e916
Bump Microsoft.NET.Test.Sdk from 17.14.1 to 18.6.0 ( #160 )
...
---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
dependency-version: 18.6.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-22 19:40:47 +00:00
dependabot[bot]
3c17c33c16
Bump Amazon.Lambda.AspNetCoreServer.Hosting and 14 others ( #149 )
...
Deploy / Deploy to AWS (push) Has been cancelled
Bumps Amazon.Lambda.AspNetCoreServer.Hosting from 1.7.2 to 1.10.0
Bumps AWSSDK.DynamoDBv2 from 3.7.400 to 3.7.513.4
Bumps AWSSDK.Extensions.NETCore.Setup from 3.7.400 to 3.7.400.2
Bumps AWSSDK.S3 from 3.7.405 to 3.7.511.8
Bumps AWSSDK.SecretsManager from 3.7.500 to 3.7.504.43
Bumps AWSSDK.SQS from 3.7.500 to 3.7.502.57
Bumps FluentAssertions from 7.2.0 to 7.2.2
Bumps FluentValidation from 11.11.0 to 11.12.0
Bumps Microsoft.AspNetCore.Authentication.JwtBearer from 8.0.27 to 8.0.28
Bumps Microsoft.EntityFrameworkCore from 8.0.27 to 8.0.28
Bumps Microsoft.EntityFrameworkCore.Design from 8.0.11 to 8.0.28
Bumps Microsoft.EntityFrameworkCore.InMemory from 8.0.11 to 8.0.28
Bumps Microsoft.EntityFrameworkCore.Sqlite from 8.0.11 to 8.0.28
Bumps Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore from 8.0.27 to 8.0.28
Bumps Microsoft.NET.Test.Sdk from 17.12.0 to 17.14.1
---
updated-dependencies:
- dependency-name: Amazon.Lambda.AspNetCoreServer.Hosting
dependency-version: 1.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: api
- dependency-name: AWSSDK.DynamoDBv2
dependency-version: 3.7.513.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: AWSSDK.Extensions.NETCore.Setup
dependency-version: 3.7.400.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: AWSSDK.S3
dependency-version: 3.7.511.8
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: AWSSDK.SecretsManager
dependency-version: 3.7.504.43
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: AWSSDK.SQS
dependency-version: 3.7.502.57
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: FluentValidation
dependency-version: 11.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: api
- dependency-name: Microsoft.AspNetCore.Authentication.JwtBearer
dependency-version: 8.0.28
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: Microsoft.EntityFrameworkCore
dependency-version: 8.0.28
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: Microsoft.EntityFrameworkCore.Design
dependency-version: 8.0.28
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore
dependency-version: 8.0.28
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: FluentAssertions
dependency-version: 7.2.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: Microsoft.EntityFrameworkCore.InMemory
dependency-version: 8.0.28
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: Microsoft.EntityFrameworkCore.Sqlite
dependency-version: 8.0.28
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: api
- dependency-name: Microsoft.NET.Test.Sdk
dependency-version: 17.14.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: api
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-18 16:13:33 -04:00
Adam Moussa
ab9569d7a9
test: add ProposalNumberGenerator, LineItemService state guard, and API client interceptor tests
...
- ProposalNumberGenerator tests (8 tests): format validation (SHI-YYYY-NNNN),
sequence incrementing, revision skipping, year boundary isolation, uniqueness,
zero-padding, high sequence rollover. Uses SQLite in-memory with Postgres
function stubs to support ExecuteSqlRawAsync.
- LineItemService state guard tests (18 tests): verifies line items cannot be
created/bulk-updated/deleted on Approved or Sent proposals (QA-C2), confirms
operations succeed on InReview and Revised statuses, validates
KeyNotFoundException on missing proposals, verifies audit logging.
- API client interceptor tests (14 tests): request interceptor attaches Bearer
token from sessionStorage (WEB-C1), handles missing/malformed token data,
response interceptor dispatches Redux logout on 401 (WEB-M2), returns friendly
messages for 403/404, extracts server error details, handles network errors.
- DbContextFactory updated to suppress InMemoryEventId.TransactionIgnoredWarning
so BulkUpdateAsync tests work with in-memory provider.
- Added SqliteDbContextFactory for tests requiring relational features.
- Added Microsoft.EntityFrameworkCore.Sqlite to test project dependencies.
Total: 104 .NET tests (was 77), 26 web tests (was 12). CI already wired.
2026-05-27 18:18:44 -04:00
Adam Moussa
d21b1c5edb
test: bootstrap test infrastructure with critical coverage (QA-C1 through QA-C6)
...
QA-C1: Create xUnit test project, add to solution, wire dependencies
- api/tests/ProposalSystem.Tests with xUnit + FluentAssertions + NSubstitute
- InMemory EF Core provider for isolated DB tests
QA-C2: Proposal state machine transition tests (16 tests)
- Valid: InReview->Approved, Approved->Sent, Sent->Revised
- Invalid: InReview->Sent, Approved->Revised, Draft->Approved, etc.
- Edge cases: idempotency, missing line items, revision line item copying
- Audit and job publisher verification
QA-C3: Authorization attribute tests (16 tests)
- Controller-level [Authorize] on all controllers except AuthController
- Role requirements: admins/sysadmins on admin actions
- Dispatcher exclusion from admin/sysadmin routes
- SysAdmin-only user management enforcement
QA-C4: InternalApiKeyMiddleware tests (8 tests)
- Valid key sets claims and calls next
- Invalid key passes through to JWT (no 401/403)
- Missing key/empty config disables middleware
- Documents API-C1 vulnerability (key works on any path)
QA-C5: ProtectedRoute and RoleGuard tests (12 tests, vitest)
- ProtectedRoute: renders children when authenticated, redirects when not
- RoleGuard: role-based access, dispatcher/admin/sysadmin enforcement
- authSlice: setUser, logout, expired token handling
QA-C6: Lambda SQS handler tests (19 tests, pytest)
- pdf-generate: batch processing, failure reporting, malformed body
- suggestions: batch processing, proposal-not-found skip, AI item preservation
- API key caching, retry helpers
Total: 107 tests (76 .NET + 12 web + 19 Python), all passing.
2026-05-27 18:18:44 -04:00