(t *testing.T)
| 2203 | } |
| 2204 | |
| 2205 | func TestTemplateVersionPatch(t *testing.T) { |
| 2206 | t.Parallel() |
| 2207 | |
| 2208 | // Single instance shared across all 9 sub-tests. Each sub-test |
| 2209 | // creates its own template version(s) and template(s) with |
| 2210 | // unique IDs so parallel execution is safe. |
| 2211 | client := coderdtest.New(t, nil) |
| 2212 | user := coderdtest.CreateFirstUser(t, client) |
| 2213 | t.Run("Update the name", func(t *testing.T) { |
| 2214 | t.Parallel() |
| 2215 | version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil) |
| 2216 | coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID) |
| 2217 | |
| 2218 | ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong) |
| 2219 | defer cancel() |
| 2220 | |
| 2221 | const newName = "new-name" |
| 2222 | updatedVersion, err := client.UpdateTemplateVersion(ctx, version.ID, codersdk.PatchTemplateVersionRequest{ |
| 2223 | Name: newName, |
| 2224 | }) |
| 2225 | |
| 2226 | require.NoError(t, err) |
| 2227 | assert.Equal(t, newName, updatedVersion.Name) |
| 2228 | assert.NotEqual(t, updatedVersion.Name, version.Name) |
| 2229 | }) |
| 2230 | |
| 2231 | t.Run("Update the message", func(t *testing.T) { |
| 2232 | t.Parallel() |
| 2233 | version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil, func(req *codersdk.CreateTemplateVersionRequest) { |
| 2234 | req.Message = "Example message" |
| 2235 | }) |
| 2236 | coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID) |
| 2237 | |
| 2238 | ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong) |
| 2239 | defer cancel() |
| 2240 | |
| 2241 | wantMessage := "Updated message" |
| 2242 | updatedVersion, err := client.UpdateTemplateVersion(ctx, version.ID, codersdk.PatchTemplateVersionRequest{ |
| 2243 | Message: &wantMessage, |
| 2244 | }) |
| 2245 | |
| 2246 | require.NoError(t, err) |
| 2247 | assert.Equal(t, wantMessage, updatedVersion.Message) |
| 2248 | }) |
| 2249 | |
| 2250 | t.Run("Remove the message", func(t *testing.T) { |
| 2251 | t.Parallel() |
| 2252 | version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil, func(req *codersdk.CreateTemplateVersionRequest) { |
| 2253 | req.Message = "Example message" |
| 2254 | }) |
| 2255 | coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID) |
| 2256 | |
| 2257 | ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong) |
| 2258 | defer cancel() |
| 2259 | |
| 2260 | wantMessage := "" |
| 2261 | updatedVersion, err := client.UpdateTemplateVersion(ctx, version.ID, codersdk.PatchTemplateVersionRequest{ |
| 2262 | Message: &wantMessage, |
nothing calls this directly
no test coverage detected