UNPKG

smc-hub

Version:

CoCalc: Backend webserver component

170 lines (163 loc) 5.25 kB
// 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 //######################################################################## /* Using API to interact with a project */ var api, expect, setup, teardown; api = require('./apitest'); ({setup, teardown} = api); expect = require('expect'); describe('testing api calls with one project -- ', function() { var project_id; before(setup); after(teardown); project_id = void 0; it("creates a project", function(done) { return api.call({ event: 'create_project', body: { title: 'Project Title', description: 'Project Description' }, cb: function(err, resp) { expect(resp != null ? resp.event : void 0).toBe('project_created'); project_id = resp.project_id; return done(err); } }); }); it("queries database directly to confirm project is there", function(done) { return api.db.get_project({ project_id: project_id, cb: function(err, project) { var ref; expect((project != null ? (ref = project.users) != null ? ref[api.account_id] : void 0 : void 0) != null).toBe(true); expect(project != null ? project.title : void 0).toBe('Project Title'); return done(err); } }); }); it("uses query api to get info about project", function(done) { return api.call({ event: 'query', body: { query: { projects: { project_id: project_id, title: null, description: null } } }, cb: function(err, resp) { var ref, ref1; expect(resp != null ? (ref = resp.query) != null ? (ref1 = ref.projects) != null ? ref1.title : void 0 : void 0 : void 0).toBe('Project Title'); return done(err); } }); }); it("uses the query api to change the project title", function(done) { return api.call({ event: 'query', body: { query: { projects: { project_id: project_id, title: 'New Title' } } }, cb: done }); }); it("confirm title change", function(done) { return api.call({ event: 'query', body: { query: { projects: { project_id: project_id, title: null } } }, cb: function(err, resp) { var ref, ref1; expect(resp != null ? (ref = resp.query) != null ? (ref1 = ref.projects) != null ? ref1.title : void 0 : void 0 : void 0).toBe('New Title'); return done(err); } }); }); it("creates project and omits title", function(done) { return api.call({ event: 'create_project', body: { description: 'DESCXXX' }, cb: function(err, resp) { expect(resp != null ? resp.event : void 0).toBe('project_created'); project_id = resp.project_id; return done(err); } }); }); it("confirms blank title", function(done) { return api.call({ event: 'query', body: { query: { projects: { project_id: project_id, title: null, description: null } } }, cb: function(err, resp) { var ref, ref1, ref2, ref3; expect(resp != null ? (ref = resp.query) != null ? (ref1 = ref.projects) != null ? ref1.title : void 0 : void 0 : void 0).toBe(''); expect(resp != null ? (ref2 = resp.query) != null ? (ref3 = ref2.projects) != null ? ref3.description : void 0 : void 0 : void 0).toBe('DESCXXX'); return done(err); } }); }); it("creates project and omits description", function(done) { return api.call({ event: 'create_project', body: { title: 'TITLEXXX' }, cb: function(err, resp) { expect(resp != null ? resp.event : void 0).toBe('project_created'); project_id = resp.project_id; return done(err); } }); }); return it("confirms blank description", function(done) { return api.call({ event: 'query', body: { query: { projects: { project_id: project_id, title: null, description: null } } }, cb: function(err, resp) { var ref, ref1, ref2, ref3; expect(resp != null ? (ref = resp.query) != null ? (ref1 = ref.projects) != null ? ref1.title : void 0 : void 0 : void 0).toBe('TITLEXXX'); expect(resp != null ? (ref2 = resp.query) != null ? (ref3 = ref2.projects) != null ? ref3.description : void 0 : void 0 : void 0).toBe(''); return done(err); } }); }); }); }).call(this); //# sourceMappingURL=project.js.map