@rxx/worker
Version:
React MVI micro framework.
70 lines (69 loc) • 2.53 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var chai_1 = require("chai");
var rxjs_1 = require("rxjs");
var operators_1 = require("rxjs/operators");
var combine_template_1 = require("../combine-template");
var Dummy = (function () {
function Dummy() {
}
return Dummy;
}());
function createObject(aValue, bValue) {
return {
aValue: aValue,
bWrapper: {
bValue: bValue,
},
cWrapper: {
cValue: 'ordinal-value',
dWrapper: {
eWrapper: {
eValue: new Dummy(),
'f-value': 1,
},
},
},
};
}
describe('combineTemplate', function () {
var subscription;
beforeEach(function () {
subscription = new rxjs_1.Subscription();
});
afterEach(function () { return subscription.unsubscribe(); });
it('should convert observable obeject to ordinal object', function (done) {
var aValue = new rxjs_1.Subject();
var bValue = new rxjs_1.Subject();
var BUFFER_COUNT = 4;
var values = createObject(aValue.pipe(operators_1.startWith('')), bValue.pipe(operators_1.startWith('')));
subscription.add(combine_template_1.combineTemplate(values)
.pipe(operators_1.bufferCount(BUFFER_COUNT))
.subscribe(function (v) {
chai_1.expect(v[0]).to.be.deep.eq(createObject('', ''));
chai_1.expect(v[1]).to.be.deep.eq(createObject('200', ''));
chai_1.expect(v[2]).to.be.deep.eq(createObject('200', '300'));
chai_1.expect(v[3]).to.be.deep.eq(createObject('OK', '300'));
done();
}));
aValue.next('200');
bValue.next('300');
aValue.next('OK');
});
it('should has default value.', function (done) {
var aValue = new rxjs_1.Subject();
var bValue = new rxjs_1.Subject();
var values = createObject(aValue, bValue);
subscription.add(combine_template_1.combineTemplate(values).subscribe(function (v) {
chai_1.expect(v).to.be.deep.eq(createObject(null, null));
done();
}));
});
it('should return base object if observable is not contained.', function (done) {
var ORDINAL = { test: 1, test2: { test: 1 } };
subscription.add(combine_template_1.combineTemplate(ORDINAL).subscribe(function (v) {
chai_1.expect(v).to.be.deep.eq(ORDINAL);
done();
}));
});
});