JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://code.jquery.com/qunit/qunit-1.12.0.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/qunit/qunit-1.12.0.css">
<div id="qunit"></div>
<div id="qunit-fixture"></div>
JavaScript
function VM() {
var self = this;
this.Status = ko.observable(false);
this.A = ko.observable();
this.B = ko.computed(
function () {
return self.A();
}).extend({
throttle: 200
});
this.B.subscribe(
function () {
self.Status(true);
setTimeout( //ajax simulation
function () {
self.Status(false);
}
, 200)
});
}
test("hello test", function () {
var sut = new VM();
sut.Status(true);
equal(sut.Status(), true);
});
asyncTest("computed with ajax", function () {
expect(2); // expenting two asserts
var sut = new VM();
sut.A('something');
sut.A('something2');
sut.A('something3');
stop();
var callCount = 0;
var expectedValues = [true, false];
sut.Status.subscribe(function (value) {
start();
equal(sut.Status(), expectedValues[callCount]);
callCount++;
});
});