Skip to content

Commit c0c214d

Browse files
authored
Clean code (#11)
* cleanup domain models, components, integration tests, * created Infra and Ports directories * enabled removed .js extension in imports * fixed eslint with .mjs extension
1 parent ab1494f commit c0c214d

41 files changed

Lines changed: 293 additions & 250 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
node_modules/
22
reports/
3-
build/
3+
dist/
44
generated/prisma/
55

66
### JetBrains template

cucumber.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
let common = [
2+
"features/**/*.feature",
3+
"--require-module ts-node/register",
4+
"--require features/**/*.ts",
5+
].join(" ");
6+
7+
module.exports = {
8+
default: common,
9+
};

cucumber.json

Lines changed: 0 additions & 10 deletions
This file was deleted.

eslint.config.js renamed to eslint.config.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import eslint from "@eslint/js";
2-
import prettierConfig from "eslint-config-prettier";
32
import tseslint from "typescript-eslint";
3+
import prettierConfig from "eslint-config-prettier";
44

55
export default tseslint.config(
66
{
7-
ignores: ["build/**"],
7+
ignores: ["dist/**", "node_modules/**", "**/*.js"],
88
},
99
eslint.configs.recommended,
1010
tseslint.configs.recommended,

features/steps/common_steps.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { Given } from "@cucumber/cucumber";
2-
import { User } from "../../src/Domain/Models/User.js";
3-
import { Vehicle } from "../../src/Domain/Models/Vehicle.js";
4-
import { InMemoryFleetRepository } from "../../src/Secondary/Repositories/InMemoryFleetRepository.js";
5-
import { initializeFleetForUser } from "./shared/initializeFleetForUser.js";
6-
import { registerVehicleInUserFleet } from "./register_vehicle_steps.js";
7-
import { generateFrenchPlateNumber } from "../../tests/Utils/generateFrenchPlateNumber.js";
2+
import { User } from "../../src/Domain/Models/User";
3+
import { Vehicle } from "../../src/Domain/Models/Vehicle";
4+
import { InMemoryFleetRepository } from "../../src/Infra/Secondary/Repositories/InMemoryFleetRepository";
5+
import { initializeFleetForUser } from "./shared/initializeFleetForUser";
6+
import { registerVehicleInUserFleet } from "./register_vehicle_steps";
7+
import { generateFrenchPlateNumber } from "../../tests/Utils/generateFrenchPlateNumber";
88

99
Given("my fleet", async function (): Promise<void> {
1010
const user: User = User.create(crypto.randomUUID());

features/steps/park_vehicle_steps.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ import { Given, Then, When } from "@cucumber/cucumber";
33
import { expect } from "chai";
44

55
// Second group: Domain
6-
import { Location } from "../../src/Domain/Models/Location.js";
7-
import { VehicleAlreadyParkedAtThisLocationError } from "../../src/Domain/Errors/VehicleAlreadyParkedAtThisLocationError.js";
6+
import { Location } from "../../src/Domain/Models/Location";
7+
import { VehicleAlreadyParkedAtThisLocationError } from "../../src/Domain/Errors/VehicleAlreadyParkedAtThisLocationError";
88

99
// Third group: Helpers
10-
import { parkVehicleAtLocation } from "./shared/parkVehicleAtLocation.js";
11-
import { retrieveLocation } from "./shared/retrieveLocation.js";
10+
import { parkVehicleAtLocation } from "./shared/parkVehicleAtLocation";
11+
import { retrieveLocation } from "./shared/retrieveLocation";
1212

1313
Given("a location", async function (): Promise<void> {
1414
this.context.location = Location.create(48.8566, 2.3522);
@@ -71,9 +71,7 @@ Then(
7171
const expected = new VehicleAlreadyParkedAtThisLocationError(
7272
this.context.vehicle.plateNumber,
7373
this.context.fleetId,
74-
this.context.location.latitude,
75-
this.context.location.longitude,
76-
this.context.location.altitude,
74+
this.context.location,
7775
);
7876

7977
expect(this.context.parkingAttemptError).to.deep.equal(expected);

features/steps/register_vehicle_steps.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ import { World } from "cucumber";
44
import { expect } from "chai";
55

66
// Second group: Domain
7-
import { User } from "../../src/Domain/Models/User.js";
8-
import { Vehicle } from "../../src/Domain/Models/Vehicle.js";
9-
import { VehicleAlreadyRegisteredError } from "../../src/Domain/Errors/VehicleAlreadyRegisteredError.js";
7+
import { User } from "../../src/Domain/Models/User";
8+
import { Vehicle } from "../../src/Domain/Models/Vehicle";
9+
import { VehicleAlreadyRegisteredError } from "../../src/Domain/Errors/VehicleAlreadyRegisteredError";
1010

1111
// Third group: Helpers
12-
import { initializeFleetForUser } from "./shared/initializeFleetForUser.js";
13-
import { retrieveFleet } from "./shared/retrieveFleet.js";
12+
import { initializeFleetForUser } from "./shared/initializeFleetForUser";
13+
import { retrieveFleet } from "./shared/retrieveFleet";
1414
import {
1515
RegisterVehicle,
1616
RegisterVehicleHandler,
17-
} from "../../src/App/Commands/registerVehicle.js";
17+
} from "../../src/App/Commands/registerVehicle";
1818

1919
Given("the fleet of another user", async function (): Promise<void> {
2020
this.context.otherUser = User.create(crypto.randomUUID());

features/steps/shared/initializeFleetForUser.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import { FleetRepository } from "../../../src/Domain/Repositories/FleetRepository.js";
2-
import { User } from "../../../src/Domain/Models/User.js";
1+
import { FleetRepository } from "../../../src/Domain/Ports/FleetRepository";
32
import {
43
InitializeFleet,
54
InitializeFleetHandler,
6-
} from "../../../src/App/Commands/initializeFleet.js";
5+
} from "../../../src/App/Commands/initializeFleet";
6+
import { User } from "../../../src/Domain/Models/User";
77

88
export async function initializeFleetForUser(
99
repository: FleetRepository,

features/steps/shared/parkVehicleAtLocation.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import { Location } from "../../../src/Domain/Models/Location.js";
2-
import { FleetRepository } from "../../../src/Domain/Repositories/FleetRepository.js";
1+
import { Location } from "../../../src/Domain/Models/Location";
2+
import { FleetRepository } from "../../../src/Domain/Ports/FleetRepository";
33
import {
44
ParkVehicle,
55
ParkVehicleHandler,
6-
} from "../../../src/App/Commands/parkVehicle.js";
6+
} from "../../../src/App/Commands/parkVehicle";
77

88
export async function parkVehicleAtLocation(
99
repository: FleetRepository,

features/steps/shared/retrieveFleet.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
1-
import { Fleet } from "../../../src/Domain/Models/Fleet.js";
2-
import { FleetRepository } from "../../../src/Domain/Repositories/FleetRepository.js";
3-
import {
4-
GetFleet,
5-
GetFleetHandler,
6-
} from "../../../src/App/Queries/getFleet.js";
1+
import { Fleet } from "../../../src/Domain/Models/Fleet";
2+
import { FleetRepository } from "../../../src/Domain/Ports/FleetRepository";
3+
import { GetFleet, GetFleetHandler } from "../../../src/App/Queries/getFleet";
74

85
export async function retrieveFleet(
96
repository: FleetRepository,

0 commit comments

Comments
 (0)