Files
edx-platform/xmodule/js/spec/video/async_process_spec.js
Syed Ali Abbas Zaidi 5549db4d80 fix: migrate remaining eslint-config-edx (#31760)
* fix: migrate remaining eslint-config-edx

* refactor: updated eslint rules according to eslint-config-edx-es5

* refactor: add custom rules to suppress unnecessary eslint issues

* refactor: add custom rules to internal eslint configs

* fix: fix all indentation issues

* chore: update lock file
2023-03-02 16:16:50 +05:00

82 lines
2.9 KiB
JavaScript

(function(require) {
require(
['video/00_async_process.js'],
function(AsyncProcess) {
var getArrayNthLength = function(n, multiplier) {
var result = [],
mul = multiplier || 1;
for (var i = 0; i < n; i++) {
result[i] = i * mul;
}
return result;
},
items = getArrayNthLength(1000);
describe('AsyncProcess', function() {
it('Array is processed successfully', function(done) {
var processedArray,
expectedArray = getArrayNthLength(1000, 2),
process = function(item) {
return 2 * item;
};
AsyncProcess.array(items, process).done(function(result) {
processedArray = result;
});
jasmine.waitUntil(function() {
return processedArray;
}).then(function() {
expect(processedArray).toEqual(expectedArray);
}).always(done);
});
it('If non-array is passed, error callback is called', function(done) {
var isError,
process = function() {};
AsyncProcess.array('string', process).fail(function() {
isError = true;
});
jasmine.waitUntil(function() {
return isError;
}).then(function() {
expect(isError).toBeTruthy();
}).always(done);
});
it('If an empty array is passed, returns initial array', function(done) {
var processedArray,
process = function() {};
AsyncProcess.array([], process).done(function(result) {
processedArray = result;
});
jasmine.waitUntil(function() {
return processedArray;
}).then(function() {
expect(processedArray).toEqual([]);
}).always(done);
});
it('If no process function passed, returns initial array', function(done) {
var processedArray;
AsyncProcess.array(items).done(function(result) {
processedArray = result;
});
jasmine.waitUntil(function() {
return processedArray;
}).then(function() {
expect(processedArray).toEqual(items);
}).always(done);
});
});
});
}(require));