diff --git a/ShoppingAssistantApi.Persistance/Repositories/MessagesRepository.cs b/ShoppingAssistantApi.Persistance/Repositories/MessagesRepository.cs index 02d309d..55734c9 100644 --- a/ShoppingAssistantApi.Persistance/Repositories/MessagesRepository.cs +++ b/ShoppingAssistantApi.Persistance/Repositories/MessagesRepository.cs @@ -12,29 +12,9 @@ public class MessagesRepository : BaseRepository, IMessagesRepository public async Task> GetPageStartingFromEndAsync(int pageNumber, int pageSize, Expression> predicate, CancellationToken cancellationToken) { - var messageCount = await GetCountAsync(predicate, cancellationToken); - - pageSize = Math.Clamp(pageSize, 1, messageCount); - var numberOfPages = messageCount / pageSize; - - if (pageNumber > numberOfPages) - { - return new List(); - } - - if (pageNumber < 1) - { - throw new ArgumentOutOfRangeException(); - } - - if (pageSize < 1) - { - throw new ArgumentOutOfRangeException(); - } - return await _collection.Find(predicate) - .SortBy(x => x.CreatedDateUtc) - .Skip((numberOfPages - pageNumber) * pageSize) + .SortByDescending(x => x.CreatedDateUtc) + .Skip((pageNumber - 1) * pageSize) .Limit(pageSize) .ToListAsync(cancellationToken); } diff --git a/ShoppingAssistantApi.Tests/Tests/WishlistsTests.cs b/ShoppingAssistantApi.Tests/Tests/WishlistsTests.cs index eab15fa..fa884c9 100644 --- a/ShoppingAssistantApi.Tests/Tests/WishlistsTests.cs +++ b/ShoppingAssistantApi.Tests/Tests/WishlistsTests.cs @@ -212,13 +212,14 @@ public class WishlistsTests : IClassFixture> var responseString = await response.Content.ReadAsStringAsync(); var document = JsonConvert.DeserializeObject(responseString); + Console.WriteLine(document); + var messagesPageFromPersonalWishlist = Enumerable.ToList(document.data.messagesPageFromPersonalWishlist.items); var firstMessageInPage = messagesPageFromPersonalWishlist[0]; var secondMessageInPage = messagesPageFromPersonalWishlist[1]; - Assert.Equal("Message 5", (string) firstMessageInPage.text); - Assert.Equal(MessageRoles.User.ToString(), (string) firstMessageInPage.role); - Assert.Equal(user.Id, (string) firstMessageInPage.createdById); + Assert.Equal("Message 6", (string) firstMessageInPage.text); + Assert.Equal(MessageRoles.Application.ToString(), (string) firstMessageInPage.role); } [Fact] @@ -606,9 +607,8 @@ public class WishlistsTests : IClassFixture> var firstMessageInPage = messagesPageFromPersonalWishlist[0]; var secondMessageInPage = messagesPageFromPersonalWishlist[1]; - Assert.Equal("Message 1", (string) firstMessageInPage.text); - Assert.Equal(MessageRoles.User.ToString(), (string) firstMessageInPage.role); - Assert.Equal(user.Id, (string) firstMessageInPage.createdById); + Assert.Equal("Message 6", (string) firstMessageInPage.text); + Assert.Equal(MessageRoles.Application.ToString(), (string) firstMessageInPage.role); } [Fact]