Hanno
03/12/2020, 7:31 AMIvan Kubyshkin [JetBrains]
03/12/2020, 7:54 AMHanno
03/12/2020, 8:52 AMHanno
03/12/2020, 8:52 AMIlya Goncharov [JB]
03/12/2020, 8:58 AMHanno
03/12/2020, 10:06 AMIlya Goncharov [JB]
03/12/2020, 10:12 AMHanno
03/12/2020, 11:34 AMRobert Jaros
03/12/2020, 1:21 PMtemplate-fullstack-ktor
kvision example (https://github.com/rjaros/kvision-examples/tree/master/template-fullstack-ktor). It works without problems for me.Hanno
03/12/2020, 10:09 PMHanno
03/12/2020, 10:10 PMRobert Jaros
03/12/2020, 10:10 PMRobert Jaros
03/12/2020, 10:12 PMRobert Jaros
03/12/2020, 10:13 PMHanno
03/12/2020, 10:15 PMHanno
03/12/2020, 10:16 PMHanno
03/13/2020, 4:43 PMRobert Jaros
03/13/2020, 5:20 PMRobert Jaros
03/13/2020, 5:21 PMRobert Jaros
03/13/2020, 5:21 PMRobert Jaros
03/13/2020, 5:29 PMRobert Jaros
03/13/2020, 5:30 PMRobert Jaros
03/13/2020, 5:56 PMRobert Jaros
03/13/2020, 5:57 PMRobert Jaros
03/13/2020, 6:00 PMval nodeModulesParentFolder = File(buildDir, "js")
// ...
setArgs(listOf(buildDir.resolve("js/packages/kotlin-minimal-jvm-js-test/kotlin").absolutePath, "--${::testServerPort.name}=$testServerPort"))
Robert Jaros
03/13/2020, 6:01 PMjs() {
nodejs {
testTask {
useMocha {
}
}
}
}
Robert Jaros
03/13/2020, 6:03 PMallWarningsAsErrors = true
option. Node installation task complains about two version of node with two kotlin versions. And that warning, which is absolutely not important, is treated as an error with this option.Robert Jaros
03/13/2020, 6:05 PMrunMocha
task, which ends with a success.Hanno
03/13/2020, 7:10 PMHanno
03/13/2020, 7:40 PMRobert Jaros
03/13/2020, 8:05 PMRobert Jaros
03/13/2020, 8:07 PMRobert Jaros
03/13/2020, 8:10 PMRobert Jaros
03/13/2020, 8:35 PMbuild.gradle.kts
(only useMocha { }
is left)
2. added some deps to jstest sourceset:
js().compilations["test"].defaultSourceSet {
dependencies {
implementation(npm("http"))
implementation(npm("node-fetch"))
implementation(npm("abort-controller"))
implementation(kotlin("test-js"))
}
}
3. modified the test code:
external fun require(name: String): dynamic
// ...
@Test
fun testClientGet() {
val randomPort = Random.nextInt(8000, 9000)
val http = require("http")
val server = http.createServer { _, res ->
res.end()
}.listen(randomPort)
val config = Config(BaseUrl("<http://localhost>:$randomPort"), defaultApiKey)
val client = ApiClient(config)
GlobalScope.launch {
assertEquals(ConnectionCheckResult.Success, client.checkConnection())
server.close()
}
}
4. jsTest task works perfectly, without a single warning and successful test report is generated without problemsRobert Jaros
03/13/2020, 8:37 PMHanno
03/13/2020, 9:23 PMHanno
03/14/2020, 4:34 PM