Ω(githubClient.DeleteReleaseAssetCallCount()).Should(Equal(2))

			Ω(githubClient.DeleteReleaseAssetArgsForCall(0)).Should(Equal(existingAssets[0]))
			Ω(githubClient.DeleteReleaseAssetArgsForCall(1)).Should(Equal(existingAssets[1]))
		})

		Context("when not set as a draft release", func() {
			BeforeEach(func() {
				request.Source.Drafts = false
			})

			It("updates the existing release to a non-draft", func() {
				_, err := command.Run(sourcesDir, request)
				Ω(err).ShouldNot(HaveOccurred())

				Ω(githubClient.UpdateReleaseCallCount()).Should(Equal(1))

				updatedRelease := githubClient.UpdateReleaseArgsForCall(0)
				Ω(*updatedRelease.Name).Should(Equal("v0.3.12"))
				Ω(*updatedRelease.Draft).Should(Equal(false))
			})
		})

		Context("when set as a draft release", func() {
			BeforeEach(func() {
				request.Source.Drafts = true
			})

			It("updates the existing release to a draft", func() {
				_, err := command.Run(sourcesDir, request)
				Ω(err).ShouldNot(HaveOccurred())