• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

inclusion-numerique / coop-mediation-numerique / a499b582-7152-4ae6-bfae-41b25ff83c10

31 Mar 2026 03:49PM UTC coverage: 7.472% (-3.2%) from 10.692%
a499b582-7152-4ae6-bfae-41b25ff83c10

Pull #466

circleci

marc-gavanier
refactor(inscription): extract ajouterLieuxActivite into modular use-case

Refactor 174 lines of mixed logic into composable, testable functions:

- domain/types.ts: Pure type definitions
- domain/classifyLieu.ts: Pure classification logic (4 cases)
- domain/filterAlreadyLinked.ts: Pure filtering logic
- dependencies/types.ts: Injectable dependency contracts
- dependencies/prisma.ts: Production implementations
- dependencies/inMemory.ts: Test implementations (no mocks)
- strategies/processClassifiedLieu.ts: Case execution
- ajouterLieuxActivite.ts: Orchestration (~40 lines)

23 unit tests with real in-memory implementations.
Fixes issue where structures from API Entreprise were not being created.
Pull Request #466: refactor(inscription): extract ajouterLieuxActivite into modular use-case

500 of 10544 branches covered (4.74%)

Branch coverage included in aggregate %.

145 of 186 new or added lines in 15 files covered. (77.96%)

1379 existing lines in 152 files now uncovered.

1500 of 16224 relevant lines covered (9.25%)

36.99 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/apps/web/src/libs/data-table/getDefaultDataTableSortParams.ts
1
import {
2
  DataTableConfiguration,
3
  DataTableSearchParams,
4
} from './DataTableConfiguration'
5

UNCOV
6
export const getDataTableSortParams = <
×
7
  Configuration extends DataTableConfiguration,
8
>(
9
  searchParams: DataTableSearchParams<Configuration>,
10
  configuration: Configuration,
11
): {
12
  sortBy: Configuration['columns'][number]['name']
13
  sortDirection: 'asc' | 'desc'
14
} => {
15
  const column =
UNCOV
16
    configuration.columns.find((item) => item.name === searchParams.tri) ??
×
UNCOV
17
    configuration.columns.find((item) => item.defaultSortable)
×
18

UNCOV
19
  if (!column) {
×
20
    throw new Error('No sortable column found in DataTable configuration')
×
21
  }
22

UNCOV
23
  return {
×
24
    sortBy: column.name,
25
    sortDirection:
26
      searchParams.ordre ?? column.defaultSortableDirection ?? ('asc' as const),
×
27
  }
28
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc