mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-11-11 18:32:20 +08:00
114 lines
3.1 KiB
CoffeeScript
114 lines
3.1 KiB
CoffeeScript
Label = require '../../src/flux/models/label'
|
|
Model = require '../../src/flux/models/model'
|
|
Attributes = require '../../src/flux/attributes'
|
|
|
|
class TestModel extends Model
|
|
@attributes =
|
|
'id': Attributes.String
|
|
queryable: true
|
|
modelKey: 'id'
|
|
|
|
'clientId': Attributes.String
|
|
queryable: true
|
|
modelKey: 'clientId'
|
|
jsonKey: 'client_id'
|
|
|
|
'serverId': Attributes.ServerId
|
|
queryable: true
|
|
modelKey: 'serverId'
|
|
jsonKey: 'server_id'
|
|
|
|
TestModel.configureBasic = ->
|
|
TestModel.additionalSQLiteConfig = undefined
|
|
TestModel.attributes =
|
|
'id': Attributes.String
|
|
queryable: true
|
|
modelKey: 'id'
|
|
'clientId': Attributes.String
|
|
queryable: true
|
|
modelKey: 'clientId'
|
|
jsonKey: 'client_id'
|
|
'serverId': Attributes.ServerId
|
|
queryable: true
|
|
modelKey: 'serverId'
|
|
jsonKey: 'server_id'
|
|
|
|
TestModel.configureWithAllAttributes = ->
|
|
TestModel.additionalSQLiteConfig = undefined
|
|
TestModel.attributes =
|
|
'datetime': Attributes.DateTime
|
|
queryable: true
|
|
modelKey: 'datetime'
|
|
'string': Attributes.String
|
|
queryable: true
|
|
modelKey: 'string'
|
|
jsonKey: 'string-json-key'
|
|
'boolean': Attributes.Boolean
|
|
queryable: true
|
|
modelKey: 'boolean'
|
|
'number': Attributes.Number
|
|
queryable: true
|
|
modelKey: 'number'
|
|
'other': Attributes.String
|
|
modelKey: 'other'
|
|
|
|
TestModel.configureWithCollectionAttribute = ->
|
|
TestModel.additionalSQLiteConfig = undefined
|
|
TestModel.attributes =
|
|
'id': Attributes.String
|
|
queryable: true
|
|
modelKey: 'id'
|
|
'clientId': Attributes.String
|
|
queryable: true
|
|
modelKey: 'clientId'
|
|
jsonKey: 'client_id'
|
|
'serverId': Attributes.ServerId
|
|
queryable: true
|
|
modelKey: 'serverId'
|
|
jsonKey: 'server_id'
|
|
'labels': Attributes.Collection
|
|
queryable: true
|
|
modelKey: 'labels'
|
|
itemClass: Label
|
|
|
|
|
|
TestModel.configureWithJoinedDataAttribute = ->
|
|
TestModel.additionalSQLiteConfig = undefined
|
|
TestModel.attributes =
|
|
'id': Attributes.String
|
|
queryable: true
|
|
modelKey: 'id'
|
|
'clientId': Attributes.String
|
|
queryable: true
|
|
modelKey: 'clientId'
|
|
jsonKey: 'client_id'
|
|
'serverId': Attributes.ServerId
|
|
queryable: true
|
|
modelKey: 'serverId'
|
|
jsonKey: 'server_id'
|
|
'body': Attributes.JoinedData
|
|
modelTable: 'TestModelBody'
|
|
modelKey: 'body'
|
|
|
|
|
|
TestModel.configureWithAdditionalSQLiteConfig = ->
|
|
TestModel.attributes =
|
|
'id': Attributes.String
|
|
queryable: true
|
|
modelKey: 'id'
|
|
'clientId': Attributes.String
|
|
modelKey: 'clientId'
|
|
jsonKey: 'client_id'
|
|
'serverId': Attributes.ServerId
|
|
modelKey: 'serverId'
|
|
jsonKey: 'server_id'
|
|
'body': Attributes.JoinedData
|
|
modelTable: 'TestModelBody'
|
|
modelKey: 'body'
|
|
TestModel.additionalSQLiteConfig =
|
|
setup: ->
|
|
['CREATE INDEX IF NOT EXISTS ThreadListIndex ON Thread(last_message_received_timestamp DESC, account_id, id)']
|
|
writeModel: jasmine.createSpy('additionalWriteModel')
|
|
deleteModel: jasmine.createSpy('additionalDeleteModel')
|
|
|
|
module.exports = TestModel
|