Skip to content

Commit 8342b26

Browse files
committed
⚗️🧹
1 parent f30665c commit 8342b26

File tree

5 files changed

+118
-5
lines changed

5 files changed

+118
-5
lines changed

coderd/apidoc/docs.go

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/apidoc/swagger.json

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/organizations.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ func (api *API) patchOrganization(rw http.ResponseWriter, r *http.Request) {
183183
// @Produce json
184184
// @Tags Organizations
185185
// @Param organization path string true "Organization ID or name"
186-
// @Success 200
186+
// @Success 200 {object} codersdk.Response
187187
// @Router /organizations/{organization} [delete]
188188
func (api *API) deleteOrganization(rw http.ResponseWriter, r *http.Request) {
189189
ctx := r.Context()

coderd/organizations_test.go

Lines changed: 75 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,27 @@ func TestPatchOrganizationsByUser(t *testing.T) {
187187
require.Equal(t, http.StatusBadRequest, apiErr.StatusCode())
188188
})
189189

190-
t.Run("Update", func(t *testing.T) {
190+
t.Run("UpdateById", func(t *testing.T) {
191+
t.Parallel()
192+
client := coderdtest.New(t, nil)
193+
_ = coderdtest.CreateFirstUser(t, client)
194+
195+
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
196+
defer cancel()
197+
198+
o, err := client.CreateOrganization(ctx, codersdk.CreateOrganizationRequest{
199+
Name: "new",
200+
})
201+
require.NoError(t, err)
202+
203+
o, err = client.UpdateOrganization(ctx, o.ID.String(), codersdk.UpdateOrganizationRequest{
204+
Name: "new-new",
205+
})
206+
require.NoError(t, err)
207+
require.Equal(t, "new-new", o.Name)
208+
})
209+
210+
t.Run("UpdateByName", func(t *testing.T) {
191211
t.Parallel()
192212
client := coderdtest.New(t, nil)
193213
_ = coderdtest.CreateFirstUser(t, client)
@@ -207,3 +227,57 @@ func TestPatchOrganizationsByUser(t *testing.T) {
207227
require.Equal(t, "new-new", o.Name)
208228
})
209229
}
230+
231+
func TestDeleteOrganizationsByUser(t *testing.T) {
232+
t.Parallel()
233+
t.Run("Default", func(t *testing.T) {
234+
t.Parallel()
235+
client := coderdtest.New(t, nil)
236+
user := coderdtest.CreateFirstUser(t, client)
237+
238+
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
239+
defer cancel()
240+
241+
o, err := client.Organization(ctx, user.OrganizationID)
242+
require.NoError(t, err)
243+
244+
err = client.DeleteOrganization(ctx, o.ID.String())
245+
var apiErr *codersdk.Error
246+
require.ErrorAs(t, err, &apiErr)
247+
require.Equal(t, http.StatusBadRequest, apiErr.StatusCode())
248+
})
249+
250+
t.Run("DeleteById", func(t *testing.T) {
251+
t.Parallel()
252+
client := coderdtest.New(t, nil)
253+
_ = coderdtest.CreateFirstUser(t, client)
254+
255+
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
256+
defer cancel()
257+
258+
o, err := client.CreateOrganization(ctx, codersdk.CreateOrganizationRequest{
259+
Name: "doomed",
260+
})
261+
require.NoError(t, err)
262+
263+
err = client.DeleteOrganization(ctx, o.ID.String())
264+
require.NoError(t, err)
265+
})
266+
267+
t.Run("DeleteByName", func(t *testing.T) {
268+
t.Parallel()
269+
client := coderdtest.New(t, nil)
270+
_ = coderdtest.CreateFirstUser(t, client)
271+
272+
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
273+
defer cancel()
274+
275+
o, err := client.CreateOrganization(ctx, codersdk.CreateOrganizationRequest{
276+
Name: "doomed",
277+
})
278+
require.NoError(t, err)
279+
280+
err = client.DeleteOrganization(ctx, o.Name)
281+
require.NoError(t, err)
282+
})
283+
}

docs/api/organizations.md

Lines changed: 10 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)