不要怂,就是干,撸起袖子干!

Added and refactored tests

1 parent 3fdbeff7
Showing with 15 additions and 16 deletions
......@@ -92,11 +92,10 @@ if (dialect.match(/^postgres/)) {
return this.User.create({ username: 'swen', emergency_contact: emergencyContact })
.then(function (user) {
expect(user.emergency_contact).to.eql(emergencyContact);
//return self.User.find({ where: { username: 'swen' }, attributes: [['emergency_contact->\'phones\'->1', 'emergency_contact']] });
return self.User.find({ where: { username: 'swen' }, attributes: [[sequelize.json('emergency_contact.phones.1'), 'emergency_contact']] });
return self.User.find({ where: { username: 'swen' }, attributes: [[sequelize.json('emergency_contact.phones.1'), 'firstEmergencyNumber']] });
})
.then(function (user) {
expect(parseInt(user.emergency_contact)).to.equal(42);
expect(parseInt(user.getDataValue('firstEmergencyNumber'))).to.equal(42);
});
});
......@@ -107,10 +106,10 @@ if (dialect.match(/^postgres/)) {
return this.User.create({ username: 'swen', emergency_contact: emergencyContact })
.then(function (user) {
expect(user.emergency_contact).to.eql(emergencyContact);
return self.User.find({ where: { username: 'swen' }, attributes: [[sequelize.json('emergency_contact.kate'), 'emergency_contact']] });
return self.User.find({ where: { username: 'swen' }, attributes: [[sequelize.json('emergency_contact.kate'), 'katesNumber']] });
})
.then(function (user) {
expect(parseInt(user.emergency_contact)).to.equal(1337);
expect(parseInt(user.getDataValue('katesNumber'))).to.equal(1337);
});
});
......@@ -121,16 +120,16 @@ if (dialect.match(/^postgres/)) {
return this.User.create({ username: 'swen', emergency_contact: emergencyContact })
.then(function (user) {
expect(user.emergency_contact).to.eql(emergencyContact);
return self.User.find({ where: { username: 'swen' }, attributes: [[sequelize.json('emergency_contact.kate.email'), 'emergency_contact']] });
return self.User.find({ where: { username: 'swen' }, attributes: [[sequelize.json('emergency_contact.kate.email'), 'katesEmail']] });
})
.then(function (user) {
expect(user.emergency_contact).to.equal('kate@kate.com');
expect(user.getDataValue('katesEmail')).to.equal('kate@kate.com');
})
.then(function () {
return self.User.find({ where: { username: 'swen' }, attributes: [[sequelize.json('emergency_contact.kate.phones.1'), 'emergency_contact']] });
return self.User.find({ where: { username: 'swen' }, attributes: [[sequelize.json('emergency_contact.kate.phones.1'), 'katesFirstPhone']] });
})
.then(function (user) {
expect(parseInt(user.emergency_contact)).to.equal(42);
expect(parseInt(user.getDataValue('katesFirstPhone'))).to.equal(42);
});
});
......@@ -141,7 +140,7 @@ if (dialect.match(/^postgres/)) {
this.User.create({ username: 'swen', emergency_contact: { name: 'kate' } }),
this.User.create({ username: 'anna', emergency_contact: { name: 'joe' } })])
.then(function () {
return self.User.find({ where: 'emergency_contact->>\'name\' = \'kate\'', attributes: ['username', 'emergency_contact'] });
return self.User.find({ where: sequelize.json("emergency_contact->>'name'", 'kate'), attributes: ['username', 'emergency_contact'] });
})
.then(function (user) {
expect(user.emergency_contact.name).to.equal('kate');
......
......@@ -164,16 +164,16 @@ describe(Support.getTestDialectTeaser("Utils"), function() {
expect((new Utils.json(path)).toString()).to.equal("metadata#>>'{pg_rating,dk}'");
});
it('successfully parses a string and value using dot notation', function () {
var path = 'metadata.pg_rating.dk';
var value = 'G';
expect((new Utils.json(path, value)).toString()).to.equal("metadata#>>'{pg_rating,dk}' = 'G'");
});
it('allows postgres json syntax', function () {
var path = 'metadata->pg_rating->>dk';
expect((new Utils.json(path)).toString()).to.equal(path);
});
it('can take a value to compare against', function () {
var path = 'metadata.pg_rating.is';
var value = 'U';
expect((new Utils.json(path, value)).toString()).to.equal("metadata#>>'{pg_rating,is}' = 'U'");
});
});
describe('inflection', function () {
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!