}
[Fact]
+ public async Task Send_ReplaceCursorTest()
+ {
+ using var apiResponse = await TestUtils.CreateApiResponse("Resources/Responses/SearchTimeline_ReplaceCursor.json");
+
+ var mock = new Mock<IApiConnection>();
+ mock.Setup(x => x.SendAsync(It.IsAny<IHttpRequest>()))
+ .ReturnsAsync(apiResponse);
+
+ var request = new SearchTimelineRequest(rawQuery: "#OpenTween")
+ {
+ Count = 20,
+ };
+
+ var response = await request.Send(mock.Object);
+ Assert.Empty(response.Tweets);
+ Assert.Equal("DAADDAABCgABFnlh4hraMAYKAAIOTm0DEhTAAQAIAAIAAAABCAADAAAAAQgABAAAAAAKAAUX8j3ezIBOIAoABhfyPd7Mf9jwAAA", response.CursorTop);
+ Assert.Equal("DAADDAABCgABFnlh4hraMAYKAAIOTm0DEhTAAQAIAAIAAAACCAADAAAAAQgABAAAAAAKAAUX8j3ezIBOIAoABhfyPd7Mf9jwAAA", response.CursorBottom);
+
+ mock.VerifyAll();
+ }
+
+ [Fact]
public async Task Send_RequestCursor_Test()
{
using var apiResponse = await TestUtils.CreateApiResponse("Resources/Responses/SearchTimeline_SimpleTweet.json");
--- /dev/null
+{
+ "data": {
+ "search_by_raw_query": {
+ "search_timeline": {
+ "timeline": {
+ "instructions": [
+ {
+ "type": "TimelineReplaceEntry",
+ "entry_id_to_replace": "cursor-top-9223372036854775807",
+ "entry": {
+ "entryId": "cursor-top-9223372036854775807",
+ "sortIndex": "9223372036854775807",
+ "content": {
+ "entryType": "TimelineTimelineCursor",
+ "__typename": "TimelineTimelineCursor",
+ "value": "DAADDAABCgABFnlh4hraMAYKAAIOTm0DEhTAAQAIAAIAAAABCAADAAAAAQgABAAAAAAKAAUX8j3ezIBOIAoABhfyPd7Mf9jwAAA",
+ "cursorType": "Top"
+ }
+ }
+ },
+ {
+ "type": "TimelineReplaceEntry",
+ "entry_id_to_replace": "cursor-bottom-0",
+ "entry": {
+ "entryId": "cursor-bottom-0",
+ "sortIndex": "0",
+ "content": {
+ "entryType": "TimelineTimelineCursor",
+ "__typename": "TimelineTimelineCursor",
+ "value": "DAADDAABCgABFnlh4hraMAYKAAIOTm0DEhTAAQAIAAIAAAACCAADAAAAAQgABAAAAAAKAAUX8j3ezIBOIAoABhfyPd7Mf9jwAAA",
+ "cursorType": "Bottom"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}