Skip to content

Commit

Permalink
adds coverage with testTryingToAddAnAlreadyDefinedRoute
Browse files Browse the repository at this point in the history
  • Loading branch information
sebastianconcept committed Feb 27, 2024
1 parent 3985bb6 commit 43dedf3
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 2 deletions.
23 changes: 23 additions & 0 deletions Ride-Tests/RideDeclarativeRoutingTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,26 @@ RideDeclarativeRoutingTest >> testSimpleWithoutParameters [
self assert: response equals: 'CoffeInvoice1'.
server stop
]

{ #category : #tests }
RideDeclarativeRoutingTest >> testTryingToAddAnAlreadyDefinedRoute [

| server routes |
routes := OrderedCollection new.
server := RideServer new.

self
shouldnt: [
server addRouteDefinition: { (#PATCH -> '/posts/<id>') } to: routes ]
raise: RideAlreadyDefinedRouteError.

self
shouldnt: [
server addRouteDefinition: { (#GET -> '/posts/<id>') } to: routes ]
raise: RideAlreadyDefinedRouteError.

self
should: [
server addRouteDefinition: { (#PATCH -> '/posts/<id>') } to: routes ]
raise: RideAlreadyDefinedRouteError
]
8 changes: 8 additions & 0 deletions Ride/RideAlreadyDefinedRouteError.class.st
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
"
Signal that a route is already set
"
Class {
#name : #RideAlreadyDefinedRouteError,
#superclass : #RideError,
#category : #'Ride-Exceptions'
}
20 changes: 18 additions & 2 deletions Ride/RideServer.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,19 @@ RideServer class >> webSockerPort [
ifAbsent: [ self defaultWebSocketPort ]) asInteger
]

{ #category : #accessing }
RideServer >> addRouteDefinition: routeDefinition to: someRouteDefinitions [
"Adds the given route to someRouteDefinitions."

"Signal an exception if the route is already defined."

(someRouteDefinitions anySatisfy: [ :each |
each first = routeDefinition first ]) ifTrue: [
RideAlreadyDefinedRouteError signal: self asString ].

someRouteDefinitions add: routeDefinition
]

{ #category : #accessing }
RideServer >> debugMode [

Expand Down Expand Up @@ -355,9 +368,12 @@ RideServer >> routesDeclaration [
all := OrderedCollection new.

(self routesDeclarationFromPragma: #rideRoutes) do: [
:routeDefinitions | all addAll: routeDefinitions ].
:routeDefinitions |
routeDefinitions do: [ :routeDefinition |
self addRouteDefinition: routeDefinition to: all ] ].

all addAll: (self routesDeclarationFromPragma: #rideRoute).
(self routesDeclarationFromPragma: #rideRoute) do: [ :routeDefinition |
self addRouteDefinition: routeDefinition to: all ].

^ all
]

Check warning on line 379 in Ride/RideServer.class.st

View check run for this annotation

Codecov / codecov/patch

Ride/RideServer.class.st#L364-L379

Added lines #L364 - L379 were not covered by tests
Expand Down

0 comments on commit 43dedf3

Please sign in to comment.