Adds tests for AlbumDatabase
This commit is contained in:
53
album_database_test.go
Normal file
53
album_database_test.go
Normal file
@@ -0,0 +1,53 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"path/filepath"
|
||||
|
||||
. "gopkg.in/check.v1"
|
||||
)
|
||||
|
||||
type AlbumDatabaseSuite struct {
|
||||
db *AlbumDatabase
|
||||
}
|
||||
|
||||
var _ = Suite(&AlbumDatabaseSuite{})
|
||||
|
||||
func (s *AlbumDatabaseSuite) SetUpSuite(c *C) {
|
||||
var err error
|
||||
s.db, err = OpenAlbumDatabase(filepath.Join(c.MkDir(), "satdb.bar.satellite/db"))
|
||||
c.Assert(err, IsNil)
|
||||
|
||||
for _, a := range albumsDataTest {
|
||||
c.Assert(s.db.AddOrUpdate(&a), IsNil)
|
||||
}
|
||||
}
|
||||
|
||||
func (s *AlbumDatabaseSuite) TestCanDelete(c *C) {
|
||||
defer func() {
|
||||
//we can always add it twice
|
||||
c.Assert(s.db.AddOrUpdate(&(albumsDataTest[0])), IsNil)
|
||||
}()
|
||||
|
||||
c.Assert(s.db.Delete(albumsDataTest[0].ID), IsNil)
|
||||
}
|
||||
|
||||
func (s *AlbumDatabaseSuite) TestCanGet(c *C) {
|
||||
|
||||
for _, a := range albumsDataTest {
|
||||
fromDb, err := s.db.Get(a.ID)
|
||||
if c.Check(err, IsNil) == true {
|
||||
c.Check(*fromDb, DeepEquals, a)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (s *AlbumDatabaseSuite) TestCanSort(c *C) {
|
||||
// here
|
||||
data := []AlbumID{}
|
||||
sorted, err := s.db.ByPurchaseDate()
|
||||
c.Assert(err, IsNil)
|
||||
c.Assert(len(sorted), Equals, len(data))
|
||||
for i, a := range sorted {
|
||||
c.Check(a, Equals, data[i])
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user