mirror of
https://github.com/wekan/wekan.git
synced 2025-12-20 17:30:13 +01:00
Fixed Non-ASCII attachment filename will crash when downloading.
Thanks to xet7 ! Fixes #2759
This commit is contained in:
parent
843ff8eaaa
commit
c2da477735
277 changed files with 30568 additions and 52 deletions
125
packages/wekan-cfs-access-point/tests/client-tests.js
Normal file
125
packages/wekan-cfs-access-point/tests/client-tests.js
Normal file
|
|
@ -0,0 +1,125 @@
|
|||
function equals(a, b) {
|
||||
return !!(EJSON.stringify(a) === EJSON.stringify(b));
|
||||
}
|
||||
|
||||
Tinytest.add('cfs-access-point - client - test environment', function(test) {
|
||||
test.isTrue(typeof FS.Collection !== 'undefined', 'test environment not initialized FS.Collection');
|
||||
test.isTrue(typeof FS.HTTP !== 'undefined', 'test environment not initialized FS.HTTP');
|
||||
});
|
||||
|
||||
Images = new FS.Collection('images', {
|
||||
stores: [
|
||||
new FS.Store.GridFS('gridList')
|
||||
]
|
||||
});
|
||||
|
||||
Meteor.subscribe("img");
|
||||
|
||||
var id;
|
||||
|
||||
Tinytest.addAsync('cfs-access-point - client - addTestImage', function(test, onComplete) {
|
||||
Meteor.call('addTestImage', function(err, result) {
|
||||
id = result;
|
||||
test.equal(typeof id, "string", "Test image was not inserted properly");
|
||||
//Don't continue until the data has been stored
|
||||
Deps.autorun(function (c) {
|
||||
var img = Images.findOne(id);
|
||||
if (img && img.hasCopy('gridList')) {
|
||||
onComplete();
|
||||
c.stop();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Tinytest.addAsync('cfs-access-point - client - GET list of files in collection', function(test, onComplete) {
|
||||
|
||||
HTTP.get(Meteor.absoluteUrl('cfs/record/images'), function(err, result) {
|
||||
// Test the length of array result
|
||||
var len = result.data && result.data.length;
|
||||
test.isTrue(!!len, 'Result was empty');
|
||||
// Get the object
|
||||
var obj = result.data && result.data[0] || {};
|
||||
test.equal(obj._id, id, 'Didn\'t get the expected result');
|
||||
onComplete();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Tinytest.addAsync('cfs-access-point - client - GET filerecord', function(test, onComplete) {
|
||||
|
||||
HTTP.get(Meteor.absoluteUrl('cfs/record/images/' + id), function(err, result) {
|
||||
// Get the object
|
||||
var obj = result.data;
|
||||
test.equal(typeof obj, "object", "Expected object data");
|
||||
test.equal(obj._id, id, 'Didn\'t get the expected result');
|
||||
onComplete();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Tinytest.addAsync('cfs-access-point - client - GET file itself', function(test, onComplete) {
|
||||
|
||||
HTTP.get(Meteor.absoluteUrl('cfs/files/images/' + id), function(err, result) {
|
||||
test.isTrue(!!result.content, "Expected content in response");
|
||||
console.log(result);
|
||||
test.equal(result.statusCode, 200, "Expected 200 OK response");
|
||||
onComplete();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Tinytest.addAsync('cfs-access-point - client - PUT new file data (update)', function(test, onComplete) {
|
||||
// TODO
|
||||
// HTTP.put(Meteor.absoluteUrl('cfs/files/images/' + id), function(err, result) {
|
||||
// test.equal(result.statusCode, 200, "Expected 200 OK response");
|
||||
onComplete();
|
||||
// });
|
||||
|
||||
});
|
||||
|
||||
Tinytest.addAsync('cfs-access-point - client - PUT insert a new file', function(test, onComplete) {
|
||||
// TODO
|
||||
// HTTP.put(Meteor.absoluteUrl('cfs/files/images'), function(err, result) {
|
||||
// test.equal(result.statusCode, 200, "Expected 200 OK response");
|
||||
onComplete();
|
||||
// });
|
||||
|
||||
});
|
||||
|
||||
Tinytest.addAsync('cfs-access-point - client - DELETE filerecord and data', function(test, onComplete) {
|
||||
|
||||
HTTP.del(Meteor.absoluteUrl('cfs/files/images/' + id), function(err, result) {
|
||||
test.equal(result.statusCode, 200, "Expected 200 OK response");
|
||||
|
||||
// Make sure it's gone
|
||||
HTTP.get(Meteor.absoluteUrl('cfs/record/images/' + id), function(err, result) {
|
||||
test.isTrue(!!err, 'Expected 404 error');
|
||||
test.equal(result.statusCode, 404, "Expected 404 response");
|
||||
onComplete();
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
//TODO test FS.File.prototype.url method with various options
|
||||
|
||||
//Test API:
|
||||
//test.isFalse(v, msg)
|
||||
//test.isTrue(v, msg)
|
||||
//test.equalactual, expected, message, not
|
||||
//test.length(obj, len)
|
||||
//test.include(s, v)
|
||||
//test.isNaN(v, msg)
|
||||
//test.isUndefined(v, msg)
|
||||
//test.isNotNull
|
||||
//test.isNull
|
||||
//test.throws(func)
|
||||
//test.instanceOf(obj, klass)
|
||||
//test.notEqual(actual, expected, message)
|
||||
//test.runId()
|
||||
//test.exception(exception)
|
||||
//test.expect_fail()
|
||||
//test.ok(doc)
|
||||
//test.fail(doc)
|
||||
//test.equal(a, b, msg)
|
||||
Loading…
Add table
Add a link
Reference in a new issue