smc-hub
Version:
CoCalc: Backend webserver component
113 lines (105 loc) • 3.23 kB
JavaScript
// Generated by CoffeeScript 2.5.1
(function() {
//########################################################################
// This file is part of CoCalc: Copyright © 2020 Sagemath, Inc.
// License: AGPLv3 s.t. "Commons Clause" – see LICENSE.md for details
//########################################################################
/*
Testing API functions relating to text files
*/
var api, expect, misc, setup, teardown;
api = require('./apitest');
({setup, teardown} = api);
misc = require('smc-util/misc');
expect = require('expect');
describe('testing text file operations -- ', function() {
var content, project_id;
before(setup);
after(teardown);
project_id = void 0;
content = 'hello\nworld';
it("creates target project", function(done) {
return api.call({
event: 'create_project',
body: {
title: 'TFTEST',
description: 'Testing text file operations'
},
cb: function(err, resp) {
expect(resp != null ? resp.event : void 0).toBe('project_created');
project_id = resp.project_id;
return done(err);
}
});
});
it("creates a text file in a project", function(done) {
this.timeout(20000);
return api.call({
event: 'write_text_file_to_project',
body: {
project_id: project_id,
content: content,
path: 'A1/doc1.txt'
},
cb: function(err, resp) {
expect(err).toEqual(null);
expect(resp != null ? resp.event : void 0).toBe('file_written_to_project');
return done(err);
}
});
});
it("reads a text file in a project", function(done) {
this.timeout(20000);
return api.call({
event: 'read_text_file_from_project',
body: {
project_id: project_id,
path: 'A1/doc1.txt'
},
cb: function(err, resp) {
expect(err).toEqual(null);
expect(resp != null ? resp.event : void 0).toBe('text_file_read_from_project');
expect(resp != null ? resp.content : void 0).toBe(content);
return done(err);
}
});
});
it("uses API query to make a file public", function(done) {
return api.call({
event: 'query',
body: {
query: {
public_paths: {
project_id: project_id,
path: 'A1/doc1.txt',
description: 'Handout #1'
}
}
},
cb: function(err, resp) {
expect(resp != null ? resp.event : void 0).toBe('query');
return done(err);
}
});
});
return it("uses API query to make a folder public", function(done) {
return api.call({
event: 'query',
body: {
query: {
public_paths: {
project_id: project_id,
path: 'A1/',
description: 'public folder A1'
}
}
},
cb: function(err, resp) {
expect(resp != null ? resp.event : void 0).toBe('query');
return done(err);
}
});
});
});
}).call(this);
//# sourceMappingURL=text_files.js.map