merged from gramsrv upstream
This commit is contained in:
parent
79c64ee916
commit
21a0856587
651 changed files with 54774 additions and 4590 deletions
92
internal/store/memory/media_search_test.go
Normal file
92
internal/store/memory/media_search_test.go
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
package memory
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"telesrv/internal/domain"
|
||||
)
|
||||
|
||||
func testPhotoMedia(id int64) *domain.MessageMedia {
|
||||
return &domain.MessageMedia{
|
||||
Kind: domain.MessageMediaKindPhoto,
|
||||
Photo: &domain.Photo{ID: id, AccessHash: id + 100},
|
||||
}
|
||||
}
|
||||
|
||||
func TestPrivateMediaSearchCombinesQuerySenderAndDate(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
store := NewMessageStore()
|
||||
const alice, bob = int64(1001), int64(1002)
|
||||
send := func(sender, recipient, randomID int64, body string, date int) {
|
||||
t.Helper()
|
||||
if _, err := store.SendPrivateText(ctx, domain.SendPrivateTextRequest{
|
||||
SenderUserID: sender, RecipientUserID: recipient, RandomID: randomID,
|
||||
Message: body, Media: testPhotoMedia(randomID), Date: date,
|
||||
}); err != nil {
|
||||
t.Fatalf("send private media: %v", err)
|
||||
}
|
||||
}
|
||||
send(alice, bob, 1, "needle outside date", 100)
|
||||
send(alice, bob, 2, "needle wanted", 200)
|
||||
send(bob, alice, 3, "needle wrong sender", 210)
|
||||
send(alice, bob, 4, "other text", 220)
|
||||
|
||||
got, err := store.SearchPrivateMedia(ctx, bob, alice, domain.MediaSearchRequest{
|
||||
Categories: []domain.MediaCategory{domain.MediaCategoryPhoto},
|
||||
Query: "NEEDLE",
|
||||
SenderUserID: alice,
|
||||
MinDate: 150,
|
||||
MaxDate: 205,
|
||||
Limit: 10,
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("search private media: %v", err)
|
||||
}
|
||||
if got.Count != 1 || len(got.Messages) != 1 || got.Messages[0].Body != "needle wanted" {
|
||||
t.Fatalf("combined private media = count %d messages %+v", got.Count, got.Messages)
|
||||
}
|
||||
}
|
||||
|
||||
func TestChannelMediaSearchCombinesQuerySenderAndDate(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
store := NewChannelStore()
|
||||
created, err := store.CreateChannel(ctx, domain.CreateChannelRequest{
|
||||
CreatorUserID: 1,
|
||||
Title: "combined media",
|
||||
Megagroup: true,
|
||||
MemberUserIDs: []int64{2},
|
||||
Date: 100,
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("create channel: %v", err)
|
||||
}
|
||||
send := func(sender, randomID int64, body string, date int) {
|
||||
t.Helper()
|
||||
if _, err := store.SendChannelMessage(ctx, domain.SendChannelMessageRequest{
|
||||
UserID: sender, ChannelID: created.Channel.ID, RandomID: randomID,
|
||||
Message: body, Media: testPhotoMedia(randomID), Date: date,
|
||||
}); err != nil {
|
||||
t.Fatalf("send channel media: %v", err)
|
||||
}
|
||||
}
|
||||
send(1, 11, "needle outside date", 110)
|
||||
send(2, 12, "needle wrong sender", 210)
|
||||
send(1, 13, "needle wanted", 220)
|
||||
send(1, 14, "other text", 230)
|
||||
|
||||
got, err := store.SearchChannelMedia(ctx, 1, created.Channel.ID, domain.MediaSearchRequest{
|
||||
Categories: []domain.MediaCategory{domain.MediaCategoryPhoto},
|
||||
Query: "NEEDLE",
|
||||
SenderUserID: 1,
|
||||
MinDate: 200,
|
||||
MaxDate: 225,
|
||||
Limit: 10,
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("search channel media: %v", err)
|
||||
}
|
||||
if got.Count != 1 || len(got.Messages) != 1 || got.Messages[0].Body != "needle wanted" {
|
||||
t.Fatalf("combined channel media = count %d messages %+v", got.Count, got.Messages)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue