Skip to content

Commit

Permalink
Merge pull request #311 from alyssaruth/workflow-dispatch
Browse files Browse the repository at this point in the history
Pull out abstract E2E test
  • Loading branch information
alyssaruth authored Mar 7, 2024
2 parents 7f937f1 + faa6ccb commit 48ab32e
Show file tree
Hide file tree
Showing 11 changed files with 46 additions and 140 deletions.
26 changes: 26 additions & 0 deletions src/test/kotlin/dartzee/e2e/AbstractE2ETest.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package dartzee.e2e

import dartzee.helper.AbstractRegistryTest
import dartzee.utils.PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE
import dartzee.utils.PREFERENCES_BOOLEAN_SHOW_ANIMATIONS
import dartzee.utils.PREFERENCES_INT_AI_SPEED
import dartzee.utils.PreferenceUtil
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Tag

@Tag("e2e")
open class AbstractE2ETest : AbstractRegistryTest() {
override fun getPreferencesAffected() =
listOf(
PREFERENCES_INT_AI_SPEED,
PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE,
PREFERENCES_BOOLEAN_SHOW_ANIMATIONS
)

@BeforeEach
open fun beforeEach() {
PreferenceUtil.saveInt(PREFERENCES_INT_AI_SPEED, 0)
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE, true)
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_SHOW_ANIMATIONS, false)
}
}
9 changes: 4 additions & 5 deletions src/test/kotlin/dartzee/e2e/SimulationE2E.kt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import dartzee.core.bean.NumberField
import dartzee.core.bean.ScrollTable
import dartzee.game.GameType
import dartzee.getRows
import dartzee.helper.AbstractTest
import dartzee.helper.beastDartsModel
import dartzee.helper.insertPlayer
import dartzee.screen.ai.AISimulationSetupDialog
Expand All @@ -22,17 +21,17 @@ import io.kotest.matchers.collections.shouldContainExactly
import io.kotest.matchers.collections.shouldHaveSize
import io.kotest.matchers.shouldBe
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test

class SimulationE2E : AbstractTest() {
class SimulationE2E : AbstractE2ETest() {
@BeforeEach
fun beforeEach() {
override fun beforeEach() {
super.beforeEach()

InjectedThings.simulationRunner = SimulationRunner()
}

@Test
@Tag("e2e")
fun `Should be able to run a simulation of 500 games`() {
val model = beastDartsModel()
val player = insertPlayer(model = model)
Expand Down
19 changes: 4 additions & 15 deletions src/test/kotlin/dartzee/e2e/SyncE2E.kt
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import dartzee.db.PlayerEntity
import dartzee.game.GameLaunchParams
import dartzee.game.GameLauncher
import dartzee.game.GameType
import dartzee.helper.AbstractRegistryTest
import dartzee.helper.DEFAULT_X01_CONFIG
import dartzee.helper.TEST_DB_DIRECTORY
import dartzee.helper.TEST_ROOT
Expand All @@ -34,9 +33,6 @@ import dartzee.sync.SyncManager
import dartzee.utils.DartsDatabaseUtil
import dartzee.utils.Database
import dartzee.utils.InjectedThings
import dartzee.utils.PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE
import dartzee.utils.PREFERENCES_INT_AI_SPEED
import dartzee.utils.PreferenceUtil
import io.kotest.matchers.shouldBe
import io.kotest.matchers.shouldNotBe
import java.io.File
Expand All @@ -45,15 +41,13 @@ import javax.swing.JButton
import javax.swing.JOptionPane
import org.junit.jupiter.api.AfterEach
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test

class SyncE2E : AbstractRegistryTest() {
override fun getPreferencesAffected() =
listOf(PREFERENCES_INT_AI_SPEED, PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE)

class SyncE2E : AbstractE2ETest() {
@BeforeEach
fun before() {
override fun beforeEach() {
super.beforeEach()

InjectedThings.databaseDirectory = TEST_DB_DIRECTORY
InjectedThings.mainDatabase = Database(dbName = UUID.randomUUID().toString())
DartsDatabaseUtil.initialiseDatabase(InjectedThings.mainDatabase)
Expand All @@ -63,9 +57,6 @@ class SyncE2E : AbstractRegistryTest() {
InjectedThings.syncConfigurer = SyncConfigurer(store)

File(TEST_DB_DIRECTORY).mkdirs()

PreferenceUtil.saveInt(PREFERENCES_INT_AI_SPEED, 50)
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE, true)
}

@AfterEach
Expand All @@ -74,7 +65,6 @@ class SyncE2E : AbstractRegistryTest() {
File(TEST_ROOT).deleteRecursively()
}

@Tag("e2e")
@Test
fun `Syncing two games with same local ID`() {
val (winner, loser) = createPlayers()
Expand Down Expand Up @@ -108,7 +98,6 @@ class SyncE2E : AbstractRegistryTest() {
x01Wins.size shouldBe 2
}

@Tag("e2e")
@Test
fun `Syncing deleted data`() {
val (winner, loser) = createPlayers()
Expand Down
16 changes: 1 addition & 15 deletions src/test/kotlin/dartzee/e2e/TestDartzeeE2E.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import dartzee.dartzee.DartzeeCalculator
import dartzee.db.DartzeeRoundResultEntity
import dartzee.game.GameType
import dartzee.game.prepareParticipants
import dartzee.helper.AbstractRegistryTest
import dartzee.helper.AchievementSummary
import dartzee.helper.allTwenties
import dartzee.helper.beastDartsModel
Expand All @@ -23,27 +22,15 @@ import dartzee.helper.totalIsFifty
import dartzee.`object`.Dart
import dartzee.`object`.SegmentType
import dartzee.utils.InjectedThings
import dartzee.utils.PREFERENCES_INT_AI_SPEED
import dartzee.utils.PreferenceUtil
import dartzee.utils.insertDartzeeRules
import dartzee.zipDartRounds
import io.kotest.matchers.collections.shouldBeEmpty
import io.kotest.matchers.collections.shouldContainExactly
import io.kotest.matchers.shouldBe
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test

class TestDartzeeE2E : AbstractRegistryTest() {
override fun getPreferencesAffected() = listOf(PREFERENCES_INT_AI_SPEED)

@BeforeEach
fun beforeEach() {
PreferenceUtil.saveInt(PREFERENCES_INT_AI_SPEED, 100)
}

class TestDartzeeE2E : AbstractE2ETest() {
@Test
@Tag("e2e")
fun `E2E - Dartzee`() {
InjectedThings.dartzeeCalculator = DartzeeCalculator()

Expand Down Expand Up @@ -86,7 +73,6 @@ class TestDartzeeE2E : AbstractRegistryTest() {
}

@Test
@Tag("e2e")
fun `E2E - Dartzee - 2 player team`() {
InjectedThings.dartzeeCalculator = DartzeeCalculator()

Expand Down
13 changes: 3 additions & 10 deletions src/test/kotlin/dartzee/e2e/TestGameLoadE2E.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,36 +7,29 @@ import dartzee.game.GameLaunchParams
import dartzee.game.GameLauncher
import dartzee.game.GameType
import dartzee.getRows
import dartzee.helper.AbstractRegistryTest
import dartzee.helper.DEFAULT_X01_CONFIG
import dartzee.helper.retrieveGame
import dartzee.helper.retrieveParticipant
import dartzee.`object`.Dart
import dartzee.screen.ScreenCache
import dartzee.screen.game.AbstractDartsGameScreen
import dartzee.utils.PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE
import dartzee.utils.PREFERENCES_INT_AI_SPEED
import dartzee.utils.PreferenceUtil
import io.kotest.matchers.collections.shouldContainExactly
import io.kotest.matchers.shouldBe
import io.kotest.matchers.shouldNotBe
import javax.swing.SwingUtilities
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test

class TestGameLoadE2E : AbstractRegistryTest() {
override fun getPreferencesAffected() =
listOf(PREFERENCES_INT_AI_SPEED, PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE)

class TestGameLoadE2E : AbstractE2ETest() {
@BeforeEach
fun beforeEach() {
PreferenceUtil.saveInt(PREFERENCES_INT_AI_SPEED, 0)
override fun beforeEach() {
super.beforeEach()
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE, false)
}

@Test
@Tag("e2e")
fun `E2E - Game load and AI resume`() {
val (winner, loser) = createPlayers()

Expand Down
17 changes: 1 addition & 16 deletions src/test/kotlin/dartzee/e2e/TestGolfE2E.kt
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ import dartzee.drtTrebleFour
import dartzee.drtTrebleSeventeen
import dartzee.game.GameType
import dartzee.game.prepareParticipants
import dartzee.helper.AbstractRegistryTest
import dartzee.helper.AchievementSummary
import dartzee.helper.beastDartsModel
import dartzee.helper.insertGame
Expand All @@ -43,24 +42,12 @@ import dartzee.helper.predictableDartsModel
import dartzee.helper.retrieveAchievementsForPlayer
import dartzee.helper.retrieveTeam
import dartzee.`object`.Dart
import dartzee.utils.PREFERENCES_INT_AI_SPEED
import dartzee.utils.PreferenceUtil
import dartzee.zipDartRounds
import io.kotest.matchers.collections.shouldContainExactlyInAnyOrder
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test

class TestGolfE2E : AbstractRegistryTest() {
override fun getPreferencesAffected() = listOf(PREFERENCES_INT_AI_SPEED)

@BeforeEach
fun beforeEach() {
PreferenceUtil.saveInt(PREFERENCES_INT_AI_SPEED, 100)
}

class TestGolfE2E : AbstractE2ETest() {
@Test
@Tag("e2e")
fun `E2E - Golf`() {
val game = insertGame(gameType = GameType.GOLF, gameParams = "18")

Expand All @@ -87,7 +74,6 @@ class TestGolfE2E : AbstractRegistryTest() {
}

@Test
@Tag("e2e")
fun `E2E - Golf - Gambler, stop threshold`() {
val game = insertGame(gameType = GameType.GOLF, gameParams = "9")
val (gamePanel, listener) = setUpGamePanel(game)
Expand Down Expand Up @@ -136,7 +122,6 @@ class TestGolfE2E : AbstractRegistryTest() {
}

@Test
@Tag("e2e")
fun `E2E - 9 holes - Team of 2`() {
val game = insertGame(gameType = GameType.GOLF, gameParams = "9")
val (gamePanel, listener) = setUpGamePanel(game)
Expand Down
13 changes: 3 additions & 10 deletions src/test/kotlin/dartzee/e2e/TestMatchE2E.kt
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import dartzee.game.GameLauncher
import dartzee.game.GameType
import dartzee.game.MatchMode
import dartzee.game.X01Config
import dartzee.helper.AbstractRegistryTest
import dartzee.helper.DEFAULT_X01_CONFIG
import dartzee.helper.insertDartsMatch
import dartzee.helper.retrieveDartsMatch
Expand All @@ -21,29 +20,23 @@ import dartzee.screen.game.MatchSummaryPanel
import dartzee.screen.game.scorer.MatchScorer
import dartzee.screen.game.x01.X01MatchScreen
import dartzee.utils.PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE
import dartzee.utils.PREFERENCES_INT_AI_SPEED
import dartzee.utils.PreferenceUtil
import io.kotest.matchers.collections.shouldContain
import io.kotest.matchers.collections.shouldContainExactlyInAnyOrder
import io.kotest.matchers.shouldBe
import io.kotest.matchers.shouldNotBe
import javax.swing.JTabbedPane
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test

class TestMatchE2E : AbstractRegistryTest() {
override fun getPreferencesAffected() =
listOf(PREFERENCES_INT_AI_SPEED, PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE)

class TestMatchE2E : AbstractE2ETest() {
@BeforeEach
fun beforeEach() {
PreferenceUtil.saveInt(PREFERENCES_INT_AI_SPEED, 0)
override fun beforeEach() {
super.beforeEach()
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE, false)
}

@Test
@Tag("e2e")
fun `E2E - Two game match`() {
val match = insertDartsMatch(games = 2, matchParams = "", mode = MatchMode.FIRST_TO)
match.gameType = GameType.X01
Expand Down
19 changes: 1 addition & 18 deletions src/test/kotlin/dartzee/e2e/TestResignationE2E.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,32 +8,16 @@ import dartzee.game.GameType
import dartzee.game.X01Config
import dartzee.game.state.IWrappedParticipant
import dartzee.getQuestionDialog
import dartzee.helper.AbstractRegistryTest
import dartzee.helper.insertGame
import dartzee.helper.insertPlayer
import dartzee.`object`.SegmentType
import dartzee.utils.PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE
import dartzee.utils.PREFERENCES_INT_AI_SPEED
import dartzee.utils.PreferenceUtil
import io.kotest.matchers.ints.shouldBeGreaterThan
import io.kotest.matchers.shouldBe
import javax.swing.JButton
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test

class TestResignationE2E : AbstractRegistryTest() {
override fun getPreferencesAffected() =
listOf(PREFERENCES_INT_AI_SPEED, PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE)

@BeforeEach
fun beforeEach() {
PreferenceUtil.saveInt(PREFERENCES_INT_AI_SPEED, 100)
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE, true)
}

class TestResignationE2E : AbstractE2ETest() {
@Test
@Tag("e2e")
fun `Resigning mid-game - X01`() {
val game =
insertGame(
Expand Down Expand Up @@ -65,7 +49,6 @@ class TestResignationE2E : AbstractRegistryTest() {
}

@Test
@Tag("e2e")
fun `Resigning mid-game - Golf`() {
val game = insertGame(gameType = GameType.GOLF, gameParams = "9")

Expand Down
15 changes: 1 addition & 14 deletions src/test/kotlin/dartzee/e2e/TestResizeE2E.kt
Original file line number Diff line number Diff line change
@@ -1,30 +1,17 @@
package dartzee.e2e

import dartzee.game.GameType
import dartzee.helper.AbstractRegistryTest
import dartzee.helper.DEFAULT_X01_CONFIG
import dartzee.helper.beastDartsModel
import dartzee.helper.insertGame
import dartzee.helper.insertPlayer
import dartzee.`object`.Dart
import dartzee.utils.PREFERENCES_INT_AI_SPEED
import dartzee.utils.PreferenceUtil
import io.kotest.matchers.comparables.shouldBeLessThan
import java.awt.Dimension
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test

class TestResizeE2E : AbstractRegistryTest() {
override fun getPreferencesAffected() = listOf(PREFERENCES_INT_AI_SPEED)

@BeforeEach
fun beforeEach() {
PreferenceUtil.saveInt(PREFERENCES_INT_AI_SPEED, 100)
}

class TestResizeE2E : AbstractE2ETest() {
@Test
@Tag("e2e")
fun `E2E - Small dartboard`() {
val game = insertGame(gameType = GameType.X01, gameParams = DEFAULT_X01_CONFIG.toJson())

Expand Down
Loading

0 comments on commit 48ab32e

Please sign in to comment.