seatsio 71.0.0 → 72.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
package/releasing.md
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
*Note: this is internal documentation for the seats.io team*
|
|
2
2
|
|
|
3
|
-
Through GitHub actions (the preferred way):
|
|
4
|
-
|
|
5
|
-
Run https://github.com/seatsio/seatsio-js/actions/workflows/release.yml
|
|
6
|
-
|
|
7
|
-
Manually:
|
|
8
|
-
|
|
9
3
|
1) Set the correct version number in package.json
|
|
10
4
|
2) Create the release in GitHub
|
package/src/Events/Events.js
CHANGED
|
@@ -23,9 +23,10 @@ class Events {
|
|
|
23
23
|
* @param {?TableBookingConfig} tableBookingConfig
|
|
24
24
|
* @param {?string} socialDistancingRulesetKey
|
|
25
25
|
* @param {?object} objectCategories
|
|
26
|
+
* @param {?array} categories
|
|
26
27
|
* @returns {Promise<Event>}
|
|
27
28
|
*/
|
|
28
|
-
create (chartKey, eventKey = null, tableBookingConfig = null, socialDistancingRulesetKey = null, objectCategories = null) {
|
|
29
|
+
create (chartKey, eventKey = null, tableBookingConfig = null, socialDistancingRulesetKey = null, objectCategories = null, categories = null) {
|
|
29
30
|
const requestParameters = {}
|
|
30
31
|
|
|
31
32
|
requestParameters.chartKey = chartKey
|
|
@@ -46,6 +47,10 @@ class Events {
|
|
|
46
47
|
requestParameters.objectCategories = objectCategories
|
|
47
48
|
}
|
|
48
49
|
|
|
50
|
+
if (categories != null) {
|
|
51
|
+
requestParameters.categories = categories
|
|
52
|
+
}
|
|
53
|
+
|
|
49
54
|
return this.client.post('/events', requestParameters)
|
|
50
55
|
.then((res) => new EventDeserializer().fromJson(res.data))
|
|
51
56
|
}
|
|
@@ -68,7 +73,7 @@ class Events {
|
|
|
68
73
|
* @param {?object} objectCategories
|
|
69
74
|
* @returns {Promise}
|
|
70
75
|
*/
|
|
71
|
-
update (eventKey, chartKey = null, newEventKey = null, tableBookingConfig = null, socialDistancingRulesetKey = null, objectCategories = null) {
|
|
76
|
+
update (eventKey, chartKey = null, newEventKey = null, tableBookingConfig = null, socialDistancingRulesetKey = null, objectCategories = null, categories = null) {
|
|
72
77
|
const requestParameters = {}
|
|
73
78
|
|
|
74
79
|
if (chartKey !== null) {
|
|
@@ -91,6 +96,10 @@ class Events {
|
|
|
91
96
|
requestParameters.objectCategories = objectCategories
|
|
92
97
|
}
|
|
93
98
|
|
|
99
|
+
if (categories != null) {
|
|
100
|
+
requestParameters.categories = categories
|
|
101
|
+
}
|
|
102
|
+
|
|
94
103
|
return this.client.post(`events/${encodeURIComponent(eventKey)}`, requestParameters)
|
|
95
104
|
}
|
|
96
105
|
|
package/src/Users/Users.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
const Page = require('../Page.js')
|
|
2
2
|
const Lister = require('../Lister.js')
|
|
3
3
|
const User = require('./User.js')
|
|
4
|
+
const Invitation = require('../Invitations/Invitation')
|
|
4
5
|
|
|
5
6
|
class Users {
|
|
6
7
|
/**
|
|
@@ -20,6 +21,7 @@ class Users {
|
|
|
20
21
|
const requestParameters = { email, role, workspaces }
|
|
21
22
|
|
|
22
23
|
return this.client.post('/users/actions/invite', requestParameters)
|
|
24
|
+
.then(res => new Invitation(res.data))
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
/**
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
const testUtils = require('../testUtils.js')
|
|
2
2
|
const SocialDistancingRuleset = require('../../src/Charts/SocialDistancingRuleset.js')
|
|
3
3
|
const TableBookingConfig = require('../../src/Events/TableBookingConfig')
|
|
4
|
+
const Category = require('../../src/Charts/Category')
|
|
4
5
|
|
|
5
6
|
test('should check that only chart key is required', async () => {
|
|
6
7
|
const { client, user } = await testUtils.createTestUserAndClient()
|
|
@@ -72,3 +73,18 @@ test('it supports object categories', async () => {
|
|
|
72
73
|
|
|
73
74
|
expect(event.objectCategories).toEqual({ 'A-1': 10 })
|
|
74
75
|
})
|
|
76
|
+
|
|
77
|
+
test('it supports categories', async () => {
|
|
78
|
+
const { client, user } = await testUtils.createTestUserAndClient()
|
|
79
|
+
const chartKey = testUtils.getChartKey()
|
|
80
|
+
await testUtils.createTestChart(chartKey, user.secretKey)
|
|
81
|
+
|
|
82
|
+
const eventCategory = new Category('eventCat1', 'Event Level Category', '#AAABBB')
|
|
83
|
+
|
|
84
|
+
const event = await client.events.create(chartKey, null, null, null, null, [eventCategory])
|
|
85
|
+
|
|
86
|
+
expect(event.categories.length).toEqual(4) // 3 from sampleChart.json, 1 event level category
|
|
87
|
+
expect(event.categories.filter(cat => cat.key === 'eventCat1').length).toEqual(1)
|
|
88
|
+
expect(event.categories.filter(cat => cat.key === 'eventCat1')[0].label).toEqual('Event Level Category')
|
|
89
|
+
expect(event.categories.filter(cat => cat.key === 'eventCat1')[0].color).toEqual('#AAABBB')
|
|
90
|
+
})
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
const testUtils = require('../testUtils.js')
|
|
2
2
|
const SocialDistancingRuleset = require('../../src/Charts/SocialDistancingRuleset.js')
|
|
3
3
|
const TableBookingConfig = require('../../src/Events/TableBookingConfig')
|
|
4
|
+
const Category = require('../../src/Charts/Category')
|
|
4
5
|
|
|
5
6
|
test('should update event\'s chart key', async () => {
|
|
6
7
|
const { client } = await testUtils.createTestUserAndClient()
|
|
@@ -100,3 +101,34 @@ test('it supports removing the object categories', async () => {
|
|
|
100
101
|
const retrievedEvent = await client.events.retrieve(event.key)
|
|
101
102
|
expect(retrievedEvent.objectCategories).toBeFalsy()
|
|
102
103
|
})
|
|
104
|
+
|
|
105
|
+
test('it supports updating the categories', async () => {
|
|
106
|
+
const { client, user } = await testUtils.createTestUserAndClient()
|
|
107
|
+
const chartKey = testUtils.getChartKey()
|
|
108
|
+
await testUtils.createTestChart(chartKey, user.secretKey)
|
|
109
|
+
const eventCategory = new Category('eventCat1', 'Event Level Category', '#AAABBB')
|
|
110
|
+
const newEventCategory = new Category('eventCat2', 'Event Level Category 2', '#BBBCCC')
|
|
111
|
+
const event = await client.events.create(chartKey, null, null, null, null, [eventCategory])
|
|
112
|
+
|
|
113
|
+
await client.events.update(event.key, null, null, null, null, null, [newEventCategory])
|
|
114
|
+
|
|
115
|
+
const retrievedEvent = await client.events.retrieve(event.key)
|
|
116
|
+
expect(retrievedEvent.categories.length).toEqual(4) // 3 from sampleChart.json, 1 event level category
|
|
117
|
+
expect(retrievedEvent.categories.filter(cat => cat.key === 'eventCat1').length).toEqual(0)
|
|
118
|
+
expect(retrievedEvent.categories.filter(cat => cat.key === 'eventCat2').length).toEqual(1)
|
|
119
|
+
expect(retrievedEvent.categories.filter(cat => cat.key === 'eventCat2')[0].label).toEqual('Event Level Category 2')
|
|
120
|
+
expect(retrievedEvent.categories.filter(cat => cat.key === 'eventCat2')[0].color).toEqual('#BBBCCC')
|
|
121
|
+
})
|
|
122
|
+
|
|
123
|
+
test('it supports removing categoreis', async () => {
|
|
124
|
+
const { client, user } = await testUtils.createTestUserAndClient()
|
|
125
|
+
const chartKey = testUtils.getChartKey()
|
|
126
|
+
await testUtils.createTestChart(chartKey, user.secretKey)
|
|
127
|
+
const eventCategory = new Category('eventCat1', 'Event Level Category', '#AAABBB')
|
|
128
|
+
const event = await client.events.create(chartKey, null, null, null, null, [eventCategory])
|
|
129
|
+
|
|
130
|
+
await client.events.update(event.key, null, null, null, null, null, [])
|
|
131
|
+
|
|
132
|
+
const retrievedEvent = await client.events.retrieve(event.key)
|
|
133
|
+
expect(retrievedEvent.categories.length).toEqual(3) // 3 from sampleChart.json, event level category was removed
|
|
134
|
+
})
|
|
@@ -4,11 +4,11 @@ test('invite users', async () => {
|
|
|
4
4
|
const { client } = await testUtils.createTestUserAndClient()
|
|
5
5
|
const email = testUtils.getRandomEmail()
|
|
6
6
|
|
|
7
|
-
await client.users.invite(email, 'COMPANY_ADMIN')
|
|
7
|
+
const invitation = await client.users.invite(email, 'COMPANY_ADMIN')
|
|
8
8
|
|
|
9
9
|
const invitations = await client.invitations.listAll()
|
|
10
10
|
expect(invitations.length).toBe(1)
|
|
11
|
-
expect(
|
|
11
|
+
expect(invitation.email).toBe(email)
|
|
12
12
|
})
|
|
13
13
|
|
|
14
14
|
test('invite non admin users', async () => {
|
|
@@ -17,9 +17,9 @@ test('invite non admin users', async () => {
|
|
|
17
17
|
const workspace = await client.workspaces.create('a workspace')
|
|
18
18
|
const workspace2 = await client.workspaces.create('another workspace')
|
|
19
19
|
|
|
20
|
-
await client.users.invite(email, 'NON_ADMIN', [workspace.key, workspace2.key])
|
|
20
|
+
const invitation = await client.users.invite(email, 'NON_ADMIN', [workspace.key, workspace2.key])
|
|
21
21
|
|
|
22
22
|
const invitations = await client.invitations.listAll()
|
|
23
23
|
expect(invitations.length).toBe(1)
|
|
24
|
-
expect(
|
|
24
|
+
expect(invitation.email).toBe(email)
|
|
25
25
|
})
|