diff --git a/check_command.go b/check_command.go index e395ca0..01cf7a3 100644 --- a/check_command.go +++ b/check_command.go @@ -64,11 +64,9 @@ func (c *CheckCommand) Run(request CheckRequest) ([]Version, error) { upToLatest := false reversedVersions := []Version{} - for _, release := range filteredReleases { - if upToLatest { - reversedVersions = append(reversedVersions, versionFromRelease(&release)) - } else { + for _, release := range filteredReleases { + if !upToLatest { if *release.Draft { id := *release.ID upToLatest = request.Version.ID == strconv.Itoa(id) @@ -77,6 +75,10 @@ func (c *CheckCommand) Run(request CheckRequest) ([]Version, error) { upToLatest = request.Version.Tag == version } } + + if upToLatest { + reversedVersions = append(reversedVersions, versionFromRelease(&release)) + } } if !upToLatest { diff --git a/check_command_test.go b/check_command_test.go index 93d2cf6..83f7730 100644 --- a/check_command_test.go +++ b/check_command_test.go @@ -127,6 +127,7 @@ var _ = Describe("Check Command", func() { Ω(err).ShouldNot(HaveOccurred()) Ω(response).Should(Equal([]resource.Version{ + {Tag: "v0.1.3"}, {Tag: "v0.1.4"}, {Tag: "0.4.0"}, })) @@ -164,6 +165,7 @@ var _ = Describe("Check Command", func() { Ω(err).ShouldNot(HaveOccurred()) Ω(response).Should(Equal([]resource.Version{ + {Tag: "v0.1.3"}, {Tag: "v0.1.4"}, {Tag: "0.4.0"}, {Tag: "v1"}, @@ -192,6 +194,7 @@ var _ = Describe("Check Command", func() { Ω(err).ShouldNot(HaveOccurred()) Ω(response).Should(Equal([]resource.Version{ + {Tag: "v0.1.3"}, {Tag: "0.4.0"}, })) }) @@ -212,7 +215,7 @@ var _ = Describe("Check Command", func() { command := resource.NewCheckCommand(githubClient) response, err := command.Run(resource.CheckRequest{ - Version: resource.Version{ID: "3"}, + Version: resource.Version{ID: "2"}, Source: resource.Source{Drafts: true}, }) Ω(err).ShouldNot(HaveOccurred())