|
| 1 | +/* eslint-disable no-unused-expressions */ |
| 2 | + |
1 | 3 | const chai = require('chai') |
2 | 4 | const expect = chai.expect |
3 | 5 | chai.use(require('chai-http')) |
@@ -71,6 +73,101 @@ const createRegistryUser = async () => { |
71 | 73 |
|
72 | 74 | describe('Testing /registryUser endpoints', () => { |
73 | 75 | context('Positive Tests', () => { |
| 76 | + it('Gets a list of all registry users', async () => { |
| 77 | + await chai.request(app) |
| 78 | + .get('/api/registryUser') |
| 79 | + .set(secretariatHeaders) |
| 80 | + .then((res) => { |
| 81 | + expect(res).to.have.status(200) |
| 82 | + expect(res.body).to.have.property('users') |
| 83 | + expect(res.body.users).to.be.an('array').that.is.not.empty |
| 84 | + }) |
| 85 | + }) |
| 86 | + |
| 87 | + it('Gets a registry user by UUID', async () => { |
| 88 | + let user |
| 89 | + await chai.request(app) |
| 90 | + .get('/api/registry/org/win_5/user/jasminesmith@win_5.com') |
| 91 | + .set(secretariatHeaders) |
| 92 | + .then((res) => { |
| 93 | + expect(res).to.have.status(200) |
| 94 | + user = res.body |
| 95 | + }) |
| 96 | + |
| 97 | + await chai.request(app) |
| 98 | + .get(`/api/registryUser/${user.UUID}`) |
| 99 | + .set(secretariatHeaders) |
| 100 | + .then((res) => { |
| 101 | + expect(res).to.have.status(200) |
| 102 | + expect(res.body).to.have.property('UUID', user.UUID) |
| 103 | + expect(res.body).to.have.property('username', user.username) |
| 104 | + expect(res.body).to.not.have.property('secret') |
| 105 | + }) |
| 106 | + }) |
| 107 | + |
| 108 | + it('Creates, updates, and deletes a registry user by UUID', async () => { |
| 109 | + const username = `${uuidv4()}@registry-user.test` |
| 110 | + let userUUID |
| 111 | + |
| 112 | + await chai.request(app) |
| 113 | + .post('/api/registryUser/range_4') |
| 114 | + .set(secretariatHeaders) |
| 115 | + .send({ |
| 116 | + username, |
| 117 | + name: { |
| 118 | + first: 'Registry', |
| 119 | + last: 'User' |
| 120 | + }, |
| 121 | + status: 'active' |
| 122 | + }) |
| 123 | + .then((res) => { |
| 124 | + expect(res).to.have.status(200) |
| 125 | + expect(res.body).to.have.property('created') |
| 126 | + expect(res.body.created).to.have.property('UUID') |
| 127 | + expect(res.body.created).to.have.property('username', username) |
| 128 | + userUUID = res.body.created.UUID |
| 129 | + }) |
| 130 | + |
| 131 | + let user |
| 132 | + await chai.request(app) |
| 133 | + .get(`/api/registryUser/${userUUID}`) |
| 134 | + .set(secretariatHeaders) |
| 135 | + .then((res) => { |
| 136 | + expect(res).to.have.status(200) |
| 137 | + user = res.body |
| 138 | + }) |
| 139 | + |
| 140 | + await chai.request(app) |
| 141 | + .put(`/api/registryUser/${userUUID}`) |
| 142 | + .set(secretariatHeaders) |
| 143 | + .send({ |
| 144 | + ...user, |
| 145 | + name: { |
| 146 | + ...user.name, |
| 147 | + first: 'UpdatedRegistry' |
| 148 | + } |
| 149 | + }) |
| 150 | + .then((res) => { |
| 151 | + expect(res).to.have.status(200) |
| 152 | + expect(res.body.updated.name.first).to.equal('UpdatedRegistry') |
| 153 | + }) |
| 154 | + |
| 155 | + await chai.request(app) |
| 156 | + .delete(`/api/registryUser/${userUUID}`) |
| 157 | + .set(secretariatHeaders) |
| 158 | + .then((res) => { |
| 159 | + expect(res).to.have.status(200) |
| 160 | + expect(res.body.message).to.contain(`${username} was successfully deleted`) |
| 161 | + }) |
| 162 | + |
| 163 | + await chai.request(app) |
| 164 | + .get(`/api/registryUser/${userUUID}`) |
| 165 | + .set(secretariatHeaders) |
| 166 | + .then((res) => { |
| 167 | + expect(res).to.have.status(404) |
| 168 | + }) |
| 169 | + }) |
| 170 | + |
74 | 171 | it('Logs the updated user UUID when updating a registry user by identifier', async () => { |
75 | 172 | const { createdUser } = await createRegistryUser() |
76 | 173 | const loggerInfoStub = sinon.stub(logger, 'info') |
|
0 commit comments