Files
cartodb/lib/assets/test/spec/builder/data/data-observatory/column-name.spec.js
2020-06-15 10:58:47 +08:00

92 lines
2.3 KiB
JavaScript

var Backbone = require('backbone');
var DataObservatoryColumnName = require('builder/data/data-observatory/column-name');
var AnalysisDefinitionNodeModel = require('builder/data/analysis-definition-node-model');
describe('data/data-observatory/column-name', function () {
beforeEach(function () {
var configModel = new Backbone.Model({
base_url: '/u/foo',
user_name: 'foo',
sql_api_template: 'foo',
api_key: 'foo'
});
this.nodeDefModel = new AnalysisDefinitionNodeModel({
id: 'a1',
type: 'data-observatory-multiple-measures',
final_column: 'foo',
source: 'a0'
}, {
configModel: configModel,
collection: new Backbone.Collection()
});
this.querySchemaModel = new Backbone.Model({
query: 'select * from wadus'
});
this.nodeDefModel.querySchemaModel = this.querySchemaModel;
this.columnName = new DataObservatoryColumnName({
configModel: configModel,
nodeDefModel: this.nodeDefModel
});
spyOn(this.columnName.SQL, 'execute').and.callFake(function (query, vars, params) {
params && params.success({
rows: [
{
obs_getmeta: [{
suggested_name: 'commuters_16_over_per_sq_km_2010_2014'
}]
}
]
});
});
this.successCallback = jasmine.createSpy('successCallback');
});
it('initial fetch state', function () {
expect(this.columnName.isFetching).toBe(false);
});
describe('fetch', function () {
it('fetch without numer_id', function () {
this.columnName.fetch({
success: this.successCallback
});
expect(this.successCallback).not.toHaveBeenCalled();
});
it('fetch with numer_id', function () {
this.columnName.fetch({
numer_id: 1,
success: this.successCallback
});
expect(this.successCallback).toHaveBeenCalledWith({
rows: [
{
obs_getmeta: [{
suggested_name: 'commuters_16_over_per_sq_km_2010_2014'
}]
}
]
});
});
});
it('buildQueryOptions', function () {
var options = this.columnName.buildQueryOptions({
key: 'foo'
});
expect(options).toEqual(jasmine.objectContaining({
metadata: "'[" + JSON.stringify({key: 'foo'}) + "]'",
query: 'select * from wadus'
}));
});
});