Skip to content

Commit

Permalink
Fix filter
Browse files Browse the repository at this point in the history
  • Loading branch information
ahobsonsayers committed Sep 27, 2024
1 parent 73f062f commit 6b47a79
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 3 deletions.
4 changes: 2 additions & 2 deletions twickets/filter.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,8 @@ func filterToNumTickets(tickets Tickets, numTickets int) Tickets {
return tickets
}

func filterToCreatedAfter(tickets Tickets, createdAfter time.Time) Tickets {
if createdAfter.IsZero() {
func FilterTicketsCreatedAfter(tickets Tickets, createdAfter time.Time) Tickets {
if !createdAfter.IsZero() {
filteredTickets := make(Tickets, 0, len(tickets))
for _, ticket := range tickets {
if ticket.CreatedAt.Time.After(createdAfter) {
Expand Down
18 changes: 18 additions & 0 deletions twickets/filter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package twickets_test

import (
"testing"
"time"

"github.com/ahobsonsayers/twitchets/twickets"
"github.com/stretchr/testify/require"
Expand Down Expand Up @@ -56,3 +57,20 @@ func TestFilterName(t *testing.T) {
}})
require.Empty(t, filteredTickets)
}

func TestFilterTicketsToCreatedAfter(t *testing.T) {
currentTime := time.Now()
tickets := twickets.Tickets{
{CreatedAt: twickets.UnixTime{currentTime.Add(-1 * time.Minute)}},
{CreatedAt: twickets.UnixTime{currentTime.Add(-2 * time.Minute)}},
{CreatedAt: twickets.UnixTime{currentTime.Add(-4 * time.Minute)}},
{CreatedAt: twickets.UnixTime{currentTime.Add(-5 * time.Minute)}},
}

filteredTickets := twickets.FilterTicketsCreatedAfter(
tickets,
currentTime.Add(-3*time.Minute),
)

require.Equal(t, tickets[0:2], filteredTickets)
}
2 changes: 1 addition & 1 deletion twickets/twickets.go
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ func (c *Client) FetchTickets(ctx context.Context, input FetchTicketsInput) (Tic

// Only return tickets requested
tickets = filterToNumTickets(tickets, input.NumTickets)
tickets = filterToCreatedAfter(tickets, input.CreatedAfter)
tickets = FilterTicketsCreatedAfter(tickets, input.CreatedAfter)

return tickets, nil
}
Expand Down

0 comments on commit 6b47a79

Please sign in to comment.