All files / sp-form/demo/full fixtures.js

15.79% Statements 3/19
100% Branches 0/0
0% Functions 0/6
15.79% Lines 3/19

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46                        1x 1x                                             1x                  
import fixture from 'can-fixture';
// this example uses fixtures to catch requests and simulate
// file upload server
function getBase64 (file) { 
    var reader = new FileReader();
    reader.readAsDataURL(file);
    reader.onerror = function (error) {
        console.log('Error: ', error);
    };
    return reader;
}
 
fixture.delay = 2000;
fixture({
    method: 'POST',
    url: '/upload'
}, function (request, response, headers, ajaxSettings) {
    try {
        const fields = Array.from(request.data.entries());
        const fileField = fields.filter((f) => {
            return f[0] === 'uri';
        });
        const file = fileField[0][1];
        const reader = getBase64(file);
        reader.onload = function () {
            response({
                uri: reader.result,
                id: file.name
            }, {'content-type': 'application/json'});
                
        };
    } catch (e) {
        dev.warn(e);
    }
});
 
fixture({
    method: 'DELETE',
    url: '/upload/{id}'
}, function (request, response, headers, ajaxSettings) {
    console.warn(request);
    response({
        result: 'success'
    })
});