Listenbrainz: fixed listens parsing. fixes #262

This commit is contained in:
emeric
2022-09-26 20:41:31 +02:00
parent f8d61b67ac
commit ff63ad6448
14 changed files with 453 additions and 144 deletions
@@ -65,6 +65,7 @@ TEST_F(DatabaseFixture, Artist_singleTrack)
{
auto transaction {session.createUniqueTransaction()};
track.get().modify()->setName("MyTrackName");
TrackArtistLink::create(session, track.get(), artist.get(), TrackArtistLinkType::Artist);
}
@@ -89,6 +90,23 @@ TEST_F(DatabaseFixture, Artist_singleTrack)
EXPECT_TRUE(track->getArtists({TrackArtistLinkType::ReleaseArtist}).empty());
EXPECT_EQ(track->getArtists({}).size(), 1);
}
{
auto transaction {session.createUniqueTransaction()};
auto tracks {Track::find(session, Track::FindParameters{}.setName("MyTrackName").setArtistName("MyArtist"))};
ASSERT_EQ(tracks.results.size(), 1);
EXPECT_EQ(tracks.results.front(), track.getId());
}
{
auto transaction {session.createUniqueTransaction()};
auto tracks {Track::find(session, Track::FindParameters{}.setName("MyTrackName").setArtistName("MyArtistFoo"))};
EXPECT_EQ(tracks.results.size(), 0);
}
{
auto transaction {session.createUniqueTransaction()};
auto tracks {Track::find(session, Track::FindParameters{}.setName("MyTrackNameFoo").setArtistName("MyArtist"))};
EXPECT_EQ(tracks.results.size(), 0);
}
}
TEST_F(DatabaseFixture, Artist_singleTracktMultiRoles)
+3 -3
View File
@@ -84,18 +84,18 @@ TEST_F(DatabaseFixture, Release_singleTrack)
{
auto transaction {session.createUniqueTransaction()};
auto tracks {Track::findByNameAndReleaseName(session, "MyTrackName", "MyReleaseName")};
auto tracks {Track::find(session, Track::FindParameters{}.setName("MyTrackName").setReleaseName("MyReleaseName"))};
ASSERT_EQ(tracks.results.size(), 1);
EXPECT_EQ(tracks.results.front(), track.getId());
}
{
auto transaction {session.createUniqueTransaction()};
auto tracks {Track::findByNameAndReleaseName(session, "MyTrackName", "MyReleaseFoo")};
auto tracks {Track::find(session, Track::FindParameters{}.setName("MyTrackName").setReleaseName("MyReleaseFoo"))};
EXPECT_EQ(tracks.results.size(), 0);
}
{
auto transaction {session.createUniqueTransaction()};
auto tracks {Track::findByNameAndReleaseName(session, "MyTrackFoo", "MyReleaseName")};
auto tracks {Track::find(session, Track::FindParameters{}.setName("MyTrackFoo").setReleaseName("MyReleaseName"))};
EXPECT_EQ(tracks.results.size(), 0);
}
}