Add email validation

This commit is contained in:
2021-04-08 01:57:34 +02:00
parent 6aa3ddb28d
commit 33a8cdb169
2 changed files with 38 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
package fr.dcproject.common.validation
import io.konform.validation.ValidationBuilder
import io.konform.validation.jsonschema.pattern
fun ValidationBuilder<String>.email() = pattern(""".+@.+\..+""")

View File

@@ -0,0 +1,32 @@
package unit
import fr.dcproject.common.validation.email
import io.konform.validation.Invalid
import io.konform.validation.Valid
import io.konform.validation.Validation
import org.amshove.kluent.`should be instance of`
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Tags
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.TestInstance
import org.junit.jupiter.api.parallel.Execution
import org.junit.jupiter.api.parallel.ExecutionMode
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@Execution(ExecutionMode.CONCURRENT)
@Tags(Tag("validation"), Tag("unit"))
internal class `Email Validation` {
@Test
fun passwordScore() {
Validation<ObjectToValid> {
ObjectToValid::email {
email()
}
}.run {
validate(ObjectToValid("abc@123.com")) `should be instance of` Valid::class
validate(ObjectToValid("abc123.com")) `should be instance of` Invalid::class
}
}
class ObjectToValid(val email: String)
}