Skip to content

Commit 182986a

Browse files
committed
IS-1947: Use patch for tildel moter
1 parent c47115d commit 182986a

File tree

2 files changed

+23
-40
lines changed

2 files changed

+23
-40
lines changed

src/main/kotlin/no/nav/syfo/dialogmote/api/v2/DialogmoteActionsApiV2.kt

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
package no.nav.syfo.dialogmote.api.v2
22

3-
import io.ktor.server.application.*
43
import io.ktor.http.*
4+
import io.ktor.server.application.*
55
import io.ktor.server.request.*
66
import io.ktor.server.response.*
77
import io.ktor.server.routing.*
88
import no.nav.syfo.application.api.authentication.getNAVIdentFromToken
99
import no.nav.syfo.dialogmote.DialogmoteService
1010
import no.nav.syfo.dialogmote.api.domain.*
1111
import no.nav.syfo.dialogmote.tilgang.DialogmoteTilgangService
12-
import no.nav.syfo.util.*
12+
import no.nav.syfo.util.callIdArgument
13+
import no.nav.syfo.util.getBearerHeader
14+
import no.nav.syfo.util.getCallId
15+
import no.nav.syfo.util.validateVeilederAccess
1316
import org.slf4j.Logger
1417
import org.slf4j.LoggerFactory
1518
import java.util.*
@@ -191,7 +194,7 @@ fun Route.registerDialogmoteActionsApiV2(
191194
}
192195
}
193196

194-
post(dialogmoteTildelPath) {
197+
patch(dialogmoteTildelPath) {
195198
val callId = getCallId()
196199
try {
197200
val token = getBearerHeader()
@@ -210,7 +213,7 @@ fun Route.registerDialogmoteActionsApiV2(
210213
)
211214
) {
212215
dialogmoteService.tildelMoter(veilederIdent, dialogmoter)
213-
call.respond(HttpStatusCode.OK)
216+
call.respond(HttpStatusCode.NoContent)
214217
} else {
215218
val accessDeniedMessage = "Denied veileder access to dialogmøter for person with PersonIdent"
216219
log.warn("$accessDeniedMessage, {}", callIdArgument(callId))

src/test/kotlin/no/nav/syfo/dialogmote/api/v2/TildelDialogmoteApiV2Spek.kt

+16-36
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ import no.nav.syfo.brev.esyfovarsel.NarmesteLederHendelse
1616
import no.nav.syfo.dialogmote.api.domain.DialogmoteDTO
1717
import no.nav.syfo.dialogmote.api.domain.TildelDialogmoterDTO
1818
import no.nav.syfo.dialogmote.database.createNewDialogmoteWithReferences
19+
import no.nav.syfo.dialogmote.database.getDialogmoteUnfinishedList
20+
import no.nav.syfo.domain.EnhetNr
1921
import no.nav.syfo.testhelper.*
2022
import no.nav.syfo.testhelper.generator.generateNewDialogmote
2123
import no.nav.syfo.util.bearerHeader
@@ -71,7 +73,6 @@ class TildelDialogmoteApiV2Spek : Spek({
7173
afterGroup { database.dropData() }
7274

7375
describe("Tildel dialogmoter") {
74-
val urlMote = "$dialogmoteApiV2Basepath$dialogmoteApiPersonIdentUrlPath"
7576
val urlMoterEnhet = "$dialogmoteApiV2Basepath$dialogmoteApiEnhetUrlPath/${UserConstants.ENHET_NR.value}"
7677
val urlTildelMote = "$dialogmoteApiV2Basepath$dialogmoteTildelPath"
7778
val newDialogmote = generateNewDialogmote(UserConstants.ARBEIDSTAKER_FNR)
@@ -99,7 +100,7 @@ class TildelDialogmoteApiV2Spek : Spek({
99100
}
100101

101102
with(
102-
handleRequest(HttpMethod.Post, urlTildelMote) {
103+
handleRequest(HttpMethod.Patch, urlTildelMote) {
103104
addHeader(HttpHeaders.Authorization, bearerHeader(veilederCallerToken))
104105
addHeader(HttpHeaders.ContentType, ContentType.Application.Json.toString())
105106
setBody(
@@ -112,28 +113,20 @@ class TildelDialogmoteApiV2Spek : Spek({
112113
)
113114
}
114115
) {
115-
response.status() shouldBeEqualTo HttpStatusCode.OK
116+
response.status() shouldBeEqualTo HttpStatusCode.NoContent
116117
}
117118

118-
with(
119-
handleRequest(HttpMethod.Get, urlMoterEnhet) {
120-
addHeader(HttpHeaders.Authorization, bearerHeader(veilederCallerToken))
121-
}
122-
) {
123-
response.status() shouldBeEqualTo HttpStatusCode.OK
124-
val dialogmoteList = objectMapper.readValue<List<DialogmoteDTO>>(response.content!!)
125-
126-
dialogmoteList.size shouldBeEqualTo 2
127-
dialogmoteList.all { dialogmoteDTO -> dialogmoteDTO.tildeltVeilederIdent == veilederIdentTildelesMoter } shouldBeEqualTo true
128-
dialogmoteList.all { dialogmoteDTO -> dialogmoteDTO.tildeltVeilederIdent == veilederCallerIdent } shouldBeEqualTo false
129-
}
119+
val dialogmoter = database.getDialogmoteUnfinishedList(EnhetNr(UserConstants.ENHET_NR.value))
120+
dialogmoter.size shouldBeEqualTo 2
121+
dialogmoter.all { dialogmote -> dialogmote.tildeltVeilederIdent == veilederIdentTildelesMoter } shouldBeEqualTo true
122+
dialogmoter.all { dialogmote -> dialogmote.tildeltVeilederIdent == veilederCallerIdent } shouldBeEqualTo false
130123
}
131124
}
132125

133126
describe("Unhappy paths") {
134127
it("should return status Unauthorized if no token is supplied") {
135128
with(
136-
handleRequest(HttpMethod.Post, urlTildelMote) {
129+
handleRequest(HttpMethod.Patch, urlTildelMote) {
137130
}
138131
) {
139132
response.status() shouldBeEqualTo HttpStatusCode.Unauthorized
@@ -142,7 +135,7 @@ class TildelDialogmoteApiV2Spek : Spek({
142135

143136
it("should return status Bad Request if no dialogmoteUuids supplied") {
144137
with(
145-
handleRequest(HttpMethod.Post, urlTildelMote) {
138+
handleRequest(HttpMethod.Patch, urlTildelMote) {
146139
addHeader(HttpHeaders.Authorization, bearerHeader(veilederCallerToken))
147140
addHeader(HttpHeaders.ContentType, ContentType.Application.Json.toString())
148141
setBody(
@@ -172,7 +165,7 @@ class TildelDialogmoteApiV2Spek : Spek({
172165
}
173166

174167
with(
175-
handleRequest(HttpMethod.Post, urlTildelMote) {
168+
handleRequest(HttpMethod.Patch, urlTildelMote) {
176169
addHeader(HttpHeaders.Authorization, bearerHeader(veilederCallerToken))
177170
addHeader(HttpHeaders.ContentType, ContentType.Application.Json.toString())
178171
setBody(
@@ -190,40 +183,27 @@ class TildelDialogmoteApiV2Spek : Spek({
190183
}
191184

192185
it("should return status Forbidden if contains dialogmøte with denied access to person") {
193-
val createdDialogmoterUuids = mutableListOf<UUID>()
194-
database.connection.run { this.createNewDialogmoteWithReferences(newDialogmote) }
195-
196-
with(
197-
handleRequest(HttpMethod.Get, urlMoterEnhet) {
198-
addHeader(HttpHeaders.Authorization, bearerHeader(veilederCallerToken))
199-
}
200-
) {
201-
response.status() shouldBeEqualTo HttpStatusCode.OK
202-
val dialogmoteList = objectMapper.readValue<List<DialogmoteDTO>>(response.content!!)
203-
204-
dialogmoteList.size shouldBeEqualTo 1
205-
206-
createdDialogmoterUuids.addAll(dialogmoteList.map { UUID.fromString(it.uuid) })
207-
}
186+
val createdDialogmoteUuid =
187+
mutableListOf(database.connection.run { this.createNewDialogmoteWithReferences(newDialogmote) }.dialogmoteIdPair.second)
208188

209189
val newDialogmoteNoVeilederAccess =
210190
generateNewDialogmote(UserConstants.ARBEIDSTAKER_VEILEDER_NO_ACCESS)
211191
database.connection.use { connection ->
212192
val (dialogmoteIdPair) = connection.createNewDialogmoteWithReferences(
213193
newDialogmote = newDialogmoteNoVeilederAccess
214194
)
215-
createdDialogmoterUuids.add(dialogmoteIdPair.second)
195+
createdDialogmoteUuid.add(dialogmoteIdPair.second)
216196
}
217197

218198
with(
219-
handleRequest(HttpMethod.Post, urlTildelMote) {
199+
handleRequest(HttpMethod.Patch, urlTildelMote) {
220200
addHeader(HttpHeaders.Authorization, bearerHeader(veilederCallerToken))
221201
addHeader(HttpHeaders.ContentType, ContentType.Application.Json.toString())
222202
setBody(
223203
objectMapper.writeValueAsString(
224204
TildelDialogmoterDTO(
225205
veilederIdent = veilederIdentTildelesMoter,
226-
dialogmoteUuids = createdDialogmoterUuids
206+
dialogmoteUuids = createdDialogmoteUuid
227207
)
228208
)
229209
)

0 commit comments

Comments
 (0)