|
|
|
@ -84,7 +84,6 @@ func setupTestDB(t *testing.T) (*sqlx.DB, func()) {
|
|
|
|
|
language TEXT NOT NULL DEFAULT 'en',
|
|
|
|
|
room_pass TEXT NOT NULL DEFAULT '',
|
|
|
|
|
turn_time INTEGER NOT NULL DEFAULT 60,
|
|
|
|
|
turn_seconds_left INTEGER NOT NULL DEFAULT 0,
|
|
|
|
|
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
|
FOREIGN KEY (room_id) REFERENCES rooms(id) ON DELETE CASCADE
|
|
|
|
|
);
|
|
|
|
@ -145,12 +144,12 @@ func TestRoomsRepo_CreateRoom(t *testing.T) {
|
|
|
|
|
assert.Equal(t, room.CreatorName, retrievedRoom.CreatorName)
|
|
|
|
|
|
|
|
|
|
var retrievedSettings models.GameSettings
|
|
|
|
|
err = db.Get(&retrievedSettings, "SELECT id, language, room_pass, turn_time, turn_seconds_left FROM settings WHERE room_id = ?", room.ID)
|
|
|
|
|
err = db.Get(&retrievedSettings, "SELECT id, language, room_pass, turn_time FROM settings WHERE room_id = ?", room.ID)
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|
assert.Equal(t, room.Settings.Language, retrievedSettings.Language)
|
|
|
|
|
assert.Equal(t, room.Settings.RoundTime, retrievedSettings.RoundTime)
|
|
|
|
|
assert.Equal(t, room.Settings.RoomPass, retrievedSettings.RoomPass)
|
|
|
|
|
assert.Equal(t, room.Settings.TurnSecondsLeft, retrievedSettings.TurnSecondsLeft)
|
|
|
|
|
assert.Equal(t, room.Settings.RoundTime, retrievedSettings.RoundTime)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestRoomsRepo_GetRoomByID(t *testing.T) {
|
|
|
|
@ -182,9 +181,9 @@ func TestRoomsRepo_GetRoomByID(t *testing.T) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Insert a room directly into the database for testing GetRoomByID
|
|
|
|
|
_, err := db.Exec(`INSERT INTO rooms (id, created_at, creator_name, team_turn, this_turn_limit, opened_this_turn, blue_counter, red_counter, red_turn, mime_done, is_running, is_over, team_won, room_link) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, room.ID, room.CreatedAt, room.CreatorName, room.TeamTurn, room.ThisTurnLimit, room.OpenedThisTurn, room.BlueCounter, room.RedCounter, room.RedTurn, room.MimeDone, room.IsRunning, room.IsOver, room.TeamWon, room.RoomLink)
|
|
|
|
|
_, err = db.Exec(`INSERT INTO rooms (id, created_at, creator_name, team_turn, this_turn_limit, opened_this_turn, blue_counter, red_counter, red_turn, mime_done, is_running, is_over, team_won, room_link) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, room.ID, room.CreatedAt, room.CreatorName, room.TeamTurn, room.ThisTurnLimit, room.OpenedThisTurn, room.BlueCounter, room.RedCounter, room.RedTurn, room.MimeDone, room.IsRunning, room.IsOver, room.TeamWon, room.RoomLink)
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|
_, err = db.Exec(`INSERT INTO settings (room_id, language, room_pass, turn_time, turn_seconds_left) VALUES (?, ?, ?, ?, ?)`, room.ID, room.Settings.Language, room.Settings.RoomPass, room.Settings.RoundTime, room.Settings.TurnSecondsLeft)
|
|
|
|
|
_, err = db.Exec(`INSERT INTO settings (room_id, language, room_pass, turn_time) VALUES (?, ?, ?, ?)`, room.ID, room.Settings.Language, room.Settings.RoomPass, room.Settings.RoundTime)
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|
|
|
|
|
|
retrievedRoom, err := repo.RoomGetByID(context.Background(), room.ID)
|
|
|
|
@ -246,12 +245,12 @@ func TestRoomsRepo_ListRooms(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
_, err := db.Exec(`INSERT INTO rooms (id, created_at, creator_name, team_turn, this_turn_limit, opened_this_turn, blue_counter, red_counter, red_turn, mime_done, is_running, is_over, team_won, room_link) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, room1.ID, room1.CreatedAt, room1.CreatorName, room1.TeamTurn, room1.ThisTurnLimit, room1.OpenedThisTurn, room1.BlueCounter, room1.RedCounter, room1.RedTurn, room1.MimeDone, room1.IsRunning, room1.IsOver, room1.TeamWon, room1.RoomLink)
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|
_, err = db.Exec(`INSERT INTO settings (room_id, language, room_pass, turn_time, turn_seconds_left) VALUES (?, ?, ?, ?, ?)`, room1.ID, room1.Settings.Language, room1.Settings.RoomPass, room1.Settings.RoundTime, room1.Settings.TurnSecondsLeft)
|
|
|
|
|
_, err = db.Exec(`INSERT INTO settings (room_id, language, room_pass, turn_time) VALUES (?, ?, ?, ?)`, room1.ID, room1.Settings.Language, room1.Settings.RoomPass, room1.Settings.RoundTime)
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|
|
|
|
|
|
_, err = db.Exec(`INSERT INTO rooms (id, created_at, creator_name, team_turn, this_turn_limit, opened_this_turn, blue_counter, red_counter, red_turn, mime_done, is_running, is_over, team_won, room_link) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, room2.ID, room2.CreatedAt, room2.CreatorName, room2.TeamTurn, room2.ThisTurnLimit, room2.OpenedThisTurn, room2.BlueCounter, room2.RedCounter, room2.RedTurn, room2.MimeDone, room2.IsRunning, room2.IsOver, room2.TeamWon, room2.RoomLink)
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|
_, err = db.Exec(`INSERT INTO settings (room_id, language, room_pass, turn_time, turn_seconds_left) VALUES (?, ?, ?, ?, ?)`, room2.ID, room2.Settings.Language, room2.Settings.RoomPass, room2.Settings.RoundTime, room2.Settings.TurnSecondsLeft)
|
|
|
|
|
_, err = db.Exec(`INSERT INTO settings (room_id, language, room_pass, turn_time) VALUES (?, ?, ?, ?)`, room2.ID, room2.Settings.Language, room2.Settings.RoomPass, room2.Settings.RoundTime)
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|
|
|
|
|
|
rooms, err := repo.RoomList(context.Background())
|
|
|
|
@ -289,7 +288,7 @@ func TestRoomsRepo_DeleteRoomByID(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
_, err := db.Exec(`INSERT INTO rooms (id, created_at, creator_name, team_turn, this_turn_limit, opened_this_turn, blue_counter, red_counter, red_turn, mime_done, is_running, is_over, team_won, room_link) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, room.ID, room.CreatedAt, room.CreatorName, room.TeamTurn, room.ThisTurnLimit, room.OpenedThisTurn, room.BlueCounter, room.RedCounter, room.RedTurn, room.MimeDone, room.IsRunning, room.IsOver, room.TeamWon, room.RoomLink)
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|
_, err = db.Exec(`INSERT INTO settings (room_id, language, room_pass, turn_time, turn_seconds_left) VALUES (?, ?, ?, ?, ?)`, room.ID, room.Settings.Language, room.Settings.RoomPass, room.Settings.RoundTime, room.Settings.TurnSecondsLeft)
|
|
|
|
|
_, err = db.Exec(`INSERT INTO settings (room_id, language, room_pass, turn_time) VALUES (?, ?, ?, ?, ?)`, room.ID, room.Settings.Language, room.Settings.RoomPass, room.Settings.RoundTime, room.Settings.TurnSecondsLeft)
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|
|
|
|
|
|
// Insert a word card for the room
|
|
|
|
@ -350,13 +349,13 @@ func TestRoomsRepo_UpdateRoom(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
_, err := db.Exec(`INSERT INTO rooms (id, created_at, creator_name, team_turn, this_turn_limit, opened_this_turn, blue_counter, red_counter, red_turn, mime_done, is_running, is_over, team_won, room_link) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, room.ID, room.CreatedAt, room.CreatorName, room.TeamTurn, room.ThisTurnLimit, room.OpenedThisTurn, room.BlueCounter, room.RedCounter, room.RedTurn, room.MimeDone, room.IsRunning, room.IsOver, room.TeamWon, room.RoomLink)
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|
_, err = db.Exec(`INSERT INTO settings (room_id, language, room_pass, turn_time, turn_seconds_left) VALUES (?, ?, ?, ?, ?)`, room.ID, room.Settings.Language, room.Settings.RoomPass, room.Settings.RoundTime, room.Settings.TurnSecondsLeft)
|
|
|
|
|
_, err = db.Exec(`INSERT INTO settings (room_id, language, room_pass, turn_time) VALUES (?, ?, ?, ?, ?)`, room.ID, room.Settings.Language, room.Settings.RoomPass, room.Settings.RoundTime, room.Settings.TurnSecondsLeft)
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|
|
|
|
|
|
room.TeamTurn = "red"
|
|
|
|
|
room.BlueCounter = 10
|
|
|
|
|
room.Settings.RoundTime = 120
|
|
|
|
|
room.Settings.TurnSecondsLeft = 30 // Set a value for turn_seconds_left
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
err = repo.RoomUpdate(context.Background(), room)
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|