Add tests for camera model
This commit is contained in:
parent
ab9938999c
commit
1fec474bd0
1 changed files with 71 additions and 9 deletions
|
@ -1,18 +1,80 @@
|
|||
package models
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestNewCamera(t *testing.T) {
|
||||
camera := NewCamera("EOS 6D", "Canon")
|
||||
t.Run("model Unknown make Nikon", func(t *testing.T) {
|
||||
camera := NewCamera("", "Nikon")
|
||||
|
||||
expected := &Camera{
|
||||
CameraModel: "EOS 6D",
|
||||
CameraMake: "Canon",
|
||||
CameraSlug: "canon-eos-6d",
|
||||
}
|
||||
assert.Equal(t, expected, camera)
|
||||
expected := &Camera{
|
||||
CameraModel: "Unknown",
|
||||
CameraMake: "Nikon",
|
||||
CameraSlug: "nikon-unknown",
|
||||
}
|
||||
assert.Equal(t, expected, camera)
|
||||
})
|
||||
t.Run("model EOS 6D make Canon", func(t *testing.T) {
|
||||
camera := NewCamera("EOS 6D", "Canon")
|
||||
|
||||
expected := &Camera{
|
||||
CameraModel: "EOS 6D",
|
||||
CameraMake: "Canon",
|
||||
CameraSlug: "canon-eos-6d",
|
||||
}
|
||||
assert.Equal(t, expected, camera)
|
||||
})
|
||||
t.Run("model with prefix make Panasonic", func(t *testing.T) {
|
||||
camera := NewCamera("Panasonic Lumix", "Panasonic")
|
||||
|
||||
expected := &Camera{
|
||||
CameraModel: "Lumix",
|
||||
CameraMake: "Panasonic",
|
||||
CameraSlug: "panasonic-lumix",
|
||||
}
|
||||
assert.Equal(t, expected, camera)
|
||||
})
|
||||
t.Run("model make Unknown", func(t *testing.T) {
|
||||
camera := NewCamera("TG-4", "")
|
||||
|
||||
expected := &Camera{
|
||||
CameraModel: "TG-4",
|
||||
CameraMake: "",
|
||||
CameraSlug: "tg-4",
|
||||
}
|
||||
assert.Equal(t, expected, camera)
|
||||
})
|
||||
}
|
||||
|
||||
/* TODO find way to initialize db independently from config
|
||||
func TestCamera_FirstOrCreate(t *testing.T) {
|
||||
t.Run("model random make Nikon", func(t *testing.T) {
|
||||
currentTime := time.Now()
|
||||
modelName := currentTime.String()
|
||||
camera := NewCamera(modelName, "Nikon")
|
||||
assert.Equal(t, uint(0x0), camera.ID)
|
||||
c := config.NewTestConfig()
|
||||
camera.FirstOrCreate(c.Db())
|
||||
t.Log(camera.ID)
|
||||
})
|
||||
}*/
|
||||
|
||||
func TestCamera_String(t *testing.T) {
|
||||
t.Run("model XXX make Nikon", func(t *testing.T) {
|
||||
camera := NewCamera("XXX", "Nikon")
|
||||
cameraString := camera.String()
|
||||
assert.Equal(t, "Nikon XXX", cameraString)
|
||||
})
|
||||
t.Run("model XXX make Unknown", func(t *testing.T) {
|
||||
camera := NewCamera("XXX", "")
|
||||
cameraString := camera.String()
|
||||
assert.Equal(t, "XXX", cameraString)
|
||||
})
|
||||
t.Run("model Unkown make Unknown", func(t *testing.T) {
|
||||
camera := NewCamera("", "")
|
||||
cameraString := camera.String()
|
||||
assert.Equal(t, "Unknown", cameraString)
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue