1
0
mirror of https://github.com/verdaccio/verdaccio.git synced 2024-11-13 03:35:52 +01:00
verdaccio/test/unit/st_merge.spec.js

73 lines
1.6 KiB
JavaScript
Raw Normal View History

2017-04-19 21:15:28 +02:00
'use strict';
2013-12-07 23:55:50 +01:00
2017-04-19 21:15:28 +02:00
let assert = require('assert');
2017-06-21 19:02:52 +02:00
let semver_sort = require('../../src/lib/utils').semver_sort;
let merge = require('../../src/lib/storage')._merge_versions;
2017-04-19 21:15:28 +02:00
2017-06-21 19:02:52 +02:00
require('../../src/lib/logger').setup([]);
2013-12-07 23:55:50 +01:00
2017-08-05 10:34:31 +02:00
describe('merge versions', function() {
it('simple', function() {
2017-08-05 10:34:31 +02:00
let pkg = {
2017-04-19 21:15:28 +02:00
'versions': {a: 1, b: 1, c: 1},
'dist-tags': {},
2017-04-19 21:15:28 +02:00
};
2017-08-05 10:34:31 +02:00
merge(pkg, {versions: {a: 2, q: 2}});
assert.deepEqual(pkg, {
2017-04-19 21:15:28 +02:00
'versions': {a: 1, b: 1, c: 1, q: 2},
'dist-tags': {},
2017-04-19 21:15:28 +02:00
});
});
2013-12-07 23:55:50 +01:00
it('dist-tags - compat', function() {
2017-08-05 10:34:31 +02:00
let pkg = {
2017-04-19 21:15:28 +02:00
'versions': {},
'dist-tags': {q: '1.1.1', w: '2.2.2'},
};
2017-08-05 10:34:31 +02:00
merge(pkg, {'dist-tags': {q: '2.2.2', w: '3.3.3', t: '4.4.4'}});
assert.deepEqual(pkg, {
2017-04-19 21:15:28 +02:00
'versions': {},
'dist-tags': {q: '2.2.2', w: '3.3.3', t: '4.4.4'},
});
});
2013-12-07 23:55:50 +01:00
it('dist-tags - staging', function() {
2017-08-05 10:34:31 +02:00
let pkg = {
versions: {},
// we've been locally publishing 1.1.x in preparation for the next
// public release
'dist-tags': {q:'1.1.10',w:'2.2.2'},
2017-08-05 10:34:31 +02:00
};
// 1.1.2 is the latest public release, but we want to continue testing
// against our local 1.1.10, which may end up published as 1.1.3 in the
// future
2017-08-05 10:34:31 +02:00
merge(pkg, {'dist-tags':{q:'1.1.2',w:'3.3.3',t:'4.4.4'}})
assert.deepEqual(pkg, {
versions: {},
'dist-tags': {q:'1.1.10',w:'3.3.3',t:'4.4.4'},
});
2017-08-05 10:34:31 +02:00
});
it('semver_sort', function() {
2017-08-05 10:34:31 +02:00
2017-04-19 21:15:28 +02:00
assert.deepEqual(semver_sort(['1.2.3', '1.2', '1.2.3a', '1.2.3c', '1.2.3-b']),
['1.2.3a',
'1.2.3-b',
'1.2.3c',
2017-04-19 21:15:28 +02:00
'1.2.3']
);
2017-08-05 10:34:31 +02:00
2017-04-19 21:15:28 +02:00
});
2017-08-05 10:34:31 +02:00
2017-04-19 21:15:28 +02:00
});