Fix signature of LastFm.Feed.update/1
This commit is contained in:
+3
-1
@@ -21,7 +21,7 @@ defmodule LastFm.Feed do
|
|||||||
:last_fm_data
|
:last_fm_data
|
||||||
]
|
]
|
||||||
|
|
||||||
@spec update([LastFm.Track.t()]) :: :ok | no_return
|
@spec update([LastFm.Track.t()]) :: {:ok, non_neg_integer()} | no_return
|
||||||
def update(tracks) do
|
def update(tracks) do
|
||||||
track_params =
|
track_params =
|
||||||
tracks
|
tracks
|
||||||
@@ -37,6 +37,8 @@ defmodule LastFm.Feed do
|
|||||||
MusicLibrary.ScrobbleRules.apply_all_rules()
|
MusicLibrary.ScrobbleRules.apply_all_rules()
|
||||||
|
|
||||||
Phoenix.PubSub.broadcast(LastFm.PubSub, "feed:update", %{track_count: count})
|
Phoenix.PubSub.broadcast(LastFm.PubSub, "feed:update", %{track_count: count})
|
||||||
|
|
||||||
|
{:ok, count}
|
||||||
end
|
end
|
||||||
|
|
||||||
@spec all_tracks(non_neg_integer()) :: [LastFm.Track.t()]
|
@spec all_tracks(non_neg_integer()) :: [LastFm.Track.t()]
|
||||||
|
|||||||
@@ -12,14 +12,14 @@ defmodule LastFm.Worker.BackfillScrobbledTracks do
|
|||||||
# use the returning count to determine if we reached the end of the backfilling
|
# use the returning count to determine if we reached the end of the backfilling
|
||||||
# process.
|
# process.
|
||||||
case LastFm.Import.batch(to_uts: to_uts, limit: @batch_size) do
|
case LastFm.Import.batch(to_uts: to_uts, limit: @batch_size) do
|
||||||
{@batch_size, nil} ->
|
{:ok, @batch_size} ->
|
||||||
next_to_uts = LastFm.lowest_scrobbled_at_uts()
|
next_to_uts = LastFm.lowest_scrobbled_at_uts()
|
||||||
|
|
||||||
%{"to_uts" => next_to_uts}
|
%{"to_uts" => next_to_uts}
|
||||||
|> new(schedule_in: @backfill_delay)
|
|> new(schedule_in: @backfill_delay)
|
||||||
|> BackgroundRepo.insert()
|
|> BackgroundRepo.insert()
|
||||||
|
|
||||||
{other_count, nil} when is_integer(other_count) ->
|
{:ok, _other_count} ->
|
||||||
:ok
|
:ok
|
||||||
|
|
||||||
error ->
|
error ->
|
||||||
|
|||||||
@@ -40,16 +40,16 @@ defmodule LastFm.FeedTest do
|
|||||||
test "it stores the track and broadcasts the updated track count" do
|
test "it stores the track and broadcasts the updated track count" do
|
||||||
:ok = Feed.subscribe()
|
:ok = Feed.subscribe()
|
||||||
|
|
||||||
:ok = Feed.update([@track_two, @track_one])
|
assert {:ok, 2} == Feed.update([@track_two, @track_one])
|
||||||
assert_receive %{track_count: 2}
|
assert_receive %{track_count: 2}
|
||||||
|
|
||||||
# Tracks have already been inserted, count of new tracks is 0
|
# Tracks have already been inserted, count of new tracks is 0
|
||||||
:ok = Feed.update([@track_two, @track_one])
|
assert {:ok, 0} == Feed.update([@track_two, @track_one])
|
||||||
assert_receive %{track_count: 0}
|
assert_receive %{track_count: 0}
|
||||||
end
|
end
|
||||||
|
|
||||||
test "it returns tracks in descending order of scrobble" do
|
test "it returns tracks in descending order of scrobble" do
|
||||||
:ok = Feed.update([@track_two, @track_one])
|
assert {:ok, 2} == Feed.update([@track_two, @track_one])
|
||||||
track_two_scrobbled_at_uts = @track_two.scrobbled_at_uts
|
track_two_scrobbled_at_uts = @track_two.scrobbled_at_uts
|
||||||
track_one_scrobbled_at_uts = @track_one.scrobbled_at_uts
|
track_one_scrobbled_at_uts = @track_one.scrobbled_at_uts
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user