Files
cheesy-arena-lite/model/lower_third_test.go

97 lines
2.8 KiB
Go

// Copyright 2014 Team 254. All Rights Reserved.
// Author: pat@patfairbank.com (Patrick Fairbank)
package model
import (
"github.com/stretchr/testify/assert"
"testing"
)
func TestGetNonexistentLowerThird(t *testing.T) {
db := setupTestDb(t)
defer db.Close()
lowerThird, err := db.GetLowerThirdById(1114)
assert.Nil(t, err)
assert.Nil(t, lowerThird)
}
func TestLowerThirdCrud(t *testing.T) {
db := setupTestDb(t)
defer db.Close()
lowerThirds, err := db.GetAllLowerThirds()
assert.Nil(t, err)
assert.Equal(t, 0, len(lowerThirds))
lowerThird := LowerThird{0, "Top Text", "Bottom Text", 1, 0}
assert.Nil(t, db.CreateLowerThird(&lowerThird))
lowerThird2, err := db.GetLowerThirdById(1)
assert.Nil(t, err)
assert.Equal(t, lowerThird, *lowerThird2)
lowerThird.BottomText = "Blorpy"
assert.Nil(t, db.UpdateLowerThird(&lowerThird))
lowerThird2, err = db.GetLowerThirdById(1)
assert.Nil(t, err)
assert.Equal(t, lowerThird.BottomText, lowerThird2.BottomText)
lowerThirds, err = db.GetAllLowerThirds()
assert.Nil(t, err)
assert.Equal(t, 1, len(lowerThirds))
assert.Nil(t, db.DeleteLowerThird(lowerThird.Id))
lowerThird2, err = db.GetLowerThirdById(1)
assert.Nil(t, err)
assert.Nil(t, lowerThird2)
}
func TestTruncateLowerThirds(t *testing.T) {
db := setupTestDb(t)
defer db.Close()
lowerThird := LowerThird{0, "Top Text", "Bottom Text", 0, 0}
assert.Nil(t, db.CreateLowerThird(&lowerThird))
assert.Nil(t, db.TruncateLowerThirds())
lowerThird2, err := db.GetLowerThirdById(1)
assert.Nil(t, err)
assert.Nil(t, lowerThird2)
}
func TestGetLowerThirdsByAwardId(t *testing.T) {
db := setupTestDb(t)
defer db.Close()
nextDisplayOrder := db.GetNextLowerThirdDisplayOrder()
assert.Equal(t, 1, nextDisplayOrder)
lowerThird1 := LowerThird{0, "Top Text", "Bottom Text", 1, 0}
assert.Nil(t, db.CreateLowerThird(&lowerThird1))
lowerThird2 := LowerThird{0, "Award 1", "", 2, 5}
assert.Nil(t, db.CreateLowerThird(&lowerThird2))
lowerThird3 := LowerThird{0, "Award 2", "", 3, 2}
assert.Nil(t, db.CreateLowerThird(&lowerThird3))
lowerThird4 := LowerThird{0, "Award 1", "Award 1 Winner", 4, 5}
assert.Nil(t, db.CreateLowerThird(&lowerThird4))
lowerThirds, err := db.GetAllLowerThirds()
assert.Nil(t, err)
assert.Equal(t, 4, len(lowerThirds))
nextDisplayOrder = db.GetNextLowerThirdDisplayOrder()
assert.Equal(t, 5, nextDisplayOrder)
lowerThirds, err = db.GetLowerThirdsByAwardId(5)
assert.Nil(t, err)
if assert.Equal(t, 2, len(lowerThirds)) {
assert.Equal(t, lowerThird2, lowerThirds[0])
assert.Equal(t, lowerThird4, lowerThirds[1])
}
lowerThirds, err = db.GetLowerThirdsByAwardId(2)
assert.Nil(t, err)
if assert.Equal(t, 1, len(lowerThirds)) {
assert.Equal(t, lowerThird3, lowerThirds[0])
}
lowerThirds, err = db.GetLowerThirdsByAwardId(39)
assert.Nil(t, err)
assert.Equal(t, 0, len(lowerThirds))
}