59 lines
1.4 KiB
Go
59 lines
1.4 KiB
Go
package device
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
"github.com/traggo/server/model"
|
|
"github.com/traggo/server/test"
|
|
"github.com/traggo/server/test/fake"
|
|
)
|
|
|
|
func TestGQL_RemoveDevice_succeeds_removesDevice(t *testing.T) {
|
|
db := test.InMemoryDB(t)
|
|
defer db.Close()
|
|
db.User(1)
|
|
db.Create(&model.Device{
|
|
ID: 55,
|
|
Name: "Android",
|
|
Token: "abc",
|
|
UserID: 1,
|
|
CreatedAt: test.Time("2009-06-30T18:30:00+02:00"),
|
|
ActiveAt: test.Time("2018-06-30T18:30:00+02:00"),
|
|
Type: model.TypeNoExpiry,
|
|
})
|
|
resolver := ResolverForDevice{DB: db.DB}
|
|
_, err := resolver.RemoveDevice(fake.User(1), 55)
|
|
require.Nil(t, err)
|
|
assertDeviceCount(t, db, 0)
|
|
}
|
|
|
|
func TestGQL_RemoveDevice_fails_notExistingDevice(t *testing.T) {
|
|
db := test.InMemoryDB(t)
|
|
defer db.Close()
|
|
db.User(1)
|
|
|
|
resolver := ResolverForDevice{DB: db.DB}
|
|
_, err := resolver.RemoveDevice(fake.User(1), 55)
|
|
require.EqualError(t, err, "device not found")
|
|
}
|
|
|
|
func TestGQL_RemoveDevice_fails_notPermission(t *testing.T) {
|
|
db := test.InMemoryDB(t)
|
|
defer db.Close()
|
|
db.User(1)
|
|
db.User(2)
|
|
db.Create(&model.Device{
|
|
ID: 55,
|
|
Name: "Android",
|
|
Token: "abc",
|
|
UserID: 2,
|
|
CreatedAt: test.Time("2009-06-30T18:30:00+02:00"),
|
|
ActiveAt: test.Time("2018-06-30T18:30:00+02:00"),
|
|
Type: model.TypeNoExpiry,
|
|
})
|
|
resolver := ResolverForDevice{DB: db.DB}
|
|
_, err := resolver.RemoveDevice(fake.User(1), 55)
|
|
require.EqualError(t, err, "device not found")
|
|
}
|