diff options
Diffstat (limited to 'query_test.go')
| -rw-r--r-- | query_test.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/query_test.go b/query_test.go index 4dd3caf..0a363cf 100644 --- a/query_test.go +++ b/query_test.go @@ -242,6 +242,27 @@ func TestWriteQueriesNotPossible(t *testing.T) { err = store.Delete(ctx, db, r) assert.ErrEqual(t, err, "cannot execute Delete() because query could not be autogenerated") + + store = oblast.MustNewStore[basicRecord]( + oblast.SqliteDialect(), + oblast.TableNameIs("records"), + oblast.PrimaryKeyIs("id"), + oblast.ReadOnly(), + ) + + r = basicRecord{Name: "foo"} + err = store.Insert(ctx, db, &r) + assert.ErrEqual(t, err, "cannot execute Insert() because query planning used the ReadOnly() option") + + err = store.Upsert(ctx, db, &r) + assert.ErrEqual(t, err, "cannot execute Insert() because query planning used the ReadOnly() option") + + r.ID = 42 + err = store.Update(ctx, db, r) + assert.ErrEqual(t, err, "cannot execute Update() because query planning used the ReadOnly() option") + + err = store.Delete(ctx, db, r) + assert.ErrEqual(t, err, "cannot execute Delete() because query planning used the ReadOnly() option") } func TestWriteQueriesFailDuringPrepare(t *testing.T) { |
