Skip to content

Commit ddc609d

Browse files
committed
fjern channel tag samt test for opprettelse av feedback kanal
1 parent de8484a commit ddc609d

4 files changed

Lines changed: 71 additions & 3 deletions

File tree

core/src/main/kotlin/no/javazone/feedback/request/channel/FeedbackChannelCreationDTO.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ data class FeedbackChannelCreationDTO(
1414
return FeedbackChannelCreationInput(
1515
title = title,
1616
speakers = speakers,
17-
channelTag = channelPrefix ?: "feedback",
1817
ratings = ratingCategories.map { it.toDomain() }
1918
)
2019
}
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
package no.javazone.feedback.domain.adapters
2+
3+
import no.javazone.feedback.domain.Feedback
4+
import no.javazone.feedback.domain.FeedbackChannel
5+
import no.javazone.feedback.domain.FeedbackChannelCreationInput
6+
import no.javazone.feedback.domain.FeedbackChannelRatingCategory
7+
import no.javazone.feedback.domain.generators.ExternalIdGenerator
8+
import no.javazone.feedback.domain.persistence.FeedbackRepository
9+
import org.junit.jupiter.api.Assertions.*
10+
import org.junit.jupiter.api.Test
11+
12+
class FeedbackAdapterTest {
13+
@Test
14+
fun `should create a feedback channel`() {
15+
val feedbackAdapter = FeedbackAdapter(
16+
repository = FakeFeedbackRepository(),
17+
externalIdGenerator = StaticIdGenerator()
18+
)
19+
20+
val channel = feedbackAdapter.createFeedbackChannel(
21+
FeedbackChannelCreationInput(
22+
title = "Test Channel",
23+
speakers = listOf("Test Speaker"),
24+
ratings = listOf(
25+
FeedbackChannelRatingCategory(
26+
id = 1,
27+
name = "test"
28+
)
29+
)
30+
)
31+
)
32+
33+
assertEquals("TEST", channel.externalId)
34+
}
35+
36+
}
37+
38+
private class FakeFeedbackRepository : FeedbackRepository {
39+
val channels = mutableMapOf<String, FeedbackChannel>()
40+
41+
override fun intializeChannel(channel: FeedbackChannel): FeedbackChannel {
42+
channels[channel.externalId] = channel
43+
return channel
44+
}
45+
46+
override fun submitFeedback(
47+
feedback: Feedback,
48+
feedbackChannel: FeedbackChannel
49+
): Feedback {
50+
return Feedback(
51+
id = 1,
52+
comment = feedback.comment,
53+
ratings = feedback.ratings
54+
)
55+
}
56+
57+
override fun findByChannelId(channelId: String): FeedbackChannel? {
58+
return channels[channelId]
59+
}
60+
61+
override fun findAllChannels(): List<FeedbackChannel> {
62+
return channels.values.toList()
63+
}
64+
}
65+
66+
private class StaticIdGenerator : ExternalIdGenerator {
67+
override fun generate(): String {
68+
return "TEST"
69+
}
70+
}

domain/src/main/kotlin/no/javazone/feedback/domain/FeedbackCreationInput.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package no.javazone.feedback.domain
33
data class FeedbackChannelCreationInput(
44
val title: String,
55
val speakers: List<String>,
6-
val channelTag: String,
76
val ratings: List<FeedbackChannelRatingCategory>
87
) {
98
init {

domain/src/main/kotlin/no/javazone/feedback/domain/adapters/FeedbackAdapter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class FeedbackAdapter(
1616
val channel = FeedbackChannel(
1717
title = input.title,
1818
speakers = input.speakers,
19-
externalId = "${input.channelTag}-${externalIdGenerator.generate()}",
19+
externalId = externalIdGenerator.generate(),
2020
ratingCategories = input.ratings
2121
)
2222
return repository.intializeChannel(channel)

0 commit comments

Comments
 (0)