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