Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Avatar for KuCalc : devops.
Download
50660 views
1
###
2
Using API to interact with a project
3
###
4
5
api = require('./apitest')
6
{setup, teardown} = api
7
8
expect = require('expect')
9
10
11
describe 'testing api calls with one project -- ', ->
12
before(setup)
13
after(teardown)
14
15
project_id = undefined
16
17
it "creates a project", (done) ->
18
api.call
19
event : 'create_project'
20
body :
21
title : 'Project Title'
22
description : 'Project Description'
23
cb : (err, resp) ->
24
expect(resp?.event).toBe('project_created')
25
project_id = resp.project_id
26
done(err)
27
28
it "queries database directly to confirm project is there", (done) ->
29
api.db.get_project
30
project_id : project_id
31
cb : (err, project) ->
32
expect(project?.users?[api.account_id]?).toBe(true)
33
expect(project?.title).toBe('Project Title')
34
done(err)
35
36
it "uses query api to get info about project", (done) ->
37
api.call
38
event : 'query'
39
body :
40
query : {projects:{project_id:project_id, title:null, description:null}}
41
cb : (err, resp) ->
42
expect(resp?.query?.projects?.title).toBe('Project Title')
43
done(err)
44
45
it "uses the query api to change the project title", (done) ->
46
api.call
47
event : 'query'
48
body :
49
query : {projects:{project_id:project_id, title:'New Title'}}
50
cb : done
51
52
it "confirm title change", (done) ->
53
api.call
54
event : 'query'
55
body :
56
query : {projects:{project_id:project_id, title:null}}
57
cb : (err, resp) ->
58
expect(resp?.query?.projects?.title).toBe('New Title')
59
done(err)
60
61
it "creates project and omits title", (done) ->
62
api.call
63
event : 'create_project'
64
body :
65
description : 'DESCXXX'
66
cb : (err, resp) ->
67
expect(resp?.event).toBe('project_created')
68
project_id = resp.project_id
69
done(err)
70
71
it "confirms blank title", (done) ->
72
api.call
73
event : 'query'
74
body :
75
query : {projects:{project_id:project_id, title:null, description:null}}
76
cb : (err, resp) ->
77
expect(resp?.query?.projects?.title).toBe('')
78
expect(resp?.query?.projects?.description).toBe('DESCXXX')
79
done(err)
80
81
82
it "creates project and omits description", (done) ->
83
api.call
84
event : 'create_project'
85
body :
86
title : 'TITLEXXX'
87
cb : (err, resp) ->
88
expect(resp?.event).toBe('project_created')
89
project_id = resp.project_id
90
done(err)
91
92
it "confirms blank description", (done) ->
93
api.call
94
event : 'query'
95
body :
96
query : {projects:{project_id:project_id, title:null, description:null}}
97
cb : (err, resp) ->
98
expect(resp?.query?.projects?.title).toBe('TITLEXXX')
99
expect(resp?.query?.projects?.description).toBe('')
100
done(err)
101
102