mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2026-04-29 13:22:26 +00:00
115 lines
3.8 KiB
Kotlin
115 lines
3.8 KiB
Kotlin
import dev.inmo.tgbotapi.extensions.utils.formatting.managedBotCreationLink
|
|
import dev.inmo.tgbotapi.types.Username
|
|
import io.ktor.http.encodeURLQueryComponent
|
|
import kotlin.test.Test
|
|
import kotlin.test.assertEquals
|
|
|
|
class LinksFormattingKtTest {
|
|
|
|
/**
|
|
* Tests for the `managedBotCreationLink` function.
|
|
* These tests verify that the function generates Telegram bot creation links correctly for various inputs.
|
|
*/
|
|
|
|
@Test
|
|
fun testManagedBotCreationLinkWithStringsWithoutSuggestedName() {
|
|
// Arrange
|
|
val managerBotUsername = "managerBot"
|
|
val suggestedUsername = "testBot"
|
|
|
|
// Act
|
|
val result = managedBotCreationLink(managerBotUsername, suggestedUsername)
|
|
|
|
// Assert
|
|
val expected = "https://t.me/newbot/managerBot/testBot"
|
|
assertEquals(expected, result)
|
|
}
|
|
|
|
@Test
|
|
fun testManagedBotCreationLinkWithStringsWithSuggestedName() {
|
|
// Arrange
|
|
val managerBotUsername = "managerBot"
|
|
val suggestedUsername = "testBot"
|
|
val suggestedName = "Test Bot".encodeURLQueryComponent()
|
|
|
|
// Act
|
|
val result = managedBotCreationLink(managerBotUsername, suggestedUsername, suggestedName)
|
|
|
|
// Assert
|
|
val expected = "https://t.me/newbot/managerBot/testBot?name=${suggestedName.encodeURLQueryComponent()}"
|
|
assertEquals(expected, result)
|
|
}
|
|
|
|
@Test
|
|
fun testManagedBotCreationLinkWithUsernamesWithoutSuggestedName() {
|
|
// Arrange
|
|
val managerBotUsername = Username("@managerBot")
|
|
val suggestedUsername = Username("@testBot")
|
|
|
|
// Act
|
|
val result = managedBotCreationLink(managerBotUsername, suggestedUsername)
|
|
|
|
// Assert
|
|
val expected = "https://t.me/newbot/managerBot/testBot"
|
|
assertEquals(expected, result)
|
|
}
|
|
|
|
@Test
|
|
fun testManagedBotCreationLinkWithUsernamesWithSuggestedName() {
|
|
// Arrange
|
|
val managerBotUsername = Username("@managerBot")
|
|
val suggestedUsername = Username("@testBot")
|
|
val suggestedName = "Test Bot"
|
|
|
|
// Act
|
|
val result = managedBotCreationLink(managerBotUsername, suggestedUsername, suggestedName)
|
|
|
|
// Assert
|
|
val expected = "https://t.me/newbot/managerBot/testBot?name=${suggestedName.encodeURLQueryComponent()}"
|
|
assertEquals(expected, result)
|
|
}
|
|
|
|
@Test
|
|
fun testManagedBotCreationLinkMixedStringAndUsernameWithoutSuggestedName() {
|
|
// Arrange
|
|
val managerBotUsername = "managerBot"
|
|
val suggestedUsername = Username("@testBot")
|
|
|
|
// Act
|
|
val result = managedBotCreationLink(managerBotUsername, suggestedUsername)
|
|
|
|
// Assert
|
|
val expected = "https://t.me/newbot/managerBot/testBot"
|
|
assertEquals(expected, result)
|
|
}
|
|
|
|
@Test
|
|
fun testManagedBotCreationLinkMixedUsernameAndStringWithSuggestedName() {
|
|
// Arrange
|
|
val managerBotUsername = Username("@managerBot")
|
|
val suggestedUsername = "testBot"
|
|
val suggestedName = "Test Bot"
|
|
|
|
// Act
|
|
val result = managedBotCreationLink(managerBotUsername, suggestedUsername, suggestedName)
|
|
|
|
// Assert
|
|
val expected = "https://t.me/newbot/managerBot/testBot?name=${suggestedName.encodeURLQueryComponent()}"
|
|
assertEquals(expected, result)
|
|
}
|
|
|
|
@Test
|
|
fun testManagedBotCreationLinkWithSpecialCharactersInSuggestedName() {
|
|
// Arrange
|
|
val managerBotUsername = "managerBot"
|
|
val suggestedUsername = "testBot"
|
|
val suggestedName = "Test Bot & Co."
|
|
|
|
// Act
|
|
val result = managedBotCreationLink(managerBotUsername, suggestedUsername, suggestedName)
|
|
|
|
// Assert
|
|
val expected = "https://t.me/newbot/managerBot/testBot?name=${suggestedName.encodeURLQueryComponent()}"
|
|
assertEquals(expected, result)
|
|
}
|
|
} |