cloutier--bird.makeup/src/Tests/BirdsiteLive.Twitter.Tests/TimelineTests.cs

50 lines
2 KiB
C#
Raw Normal View History

2022-12-26 14:21:58 -05:00
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Microsoft.Extensions.Logging;
using System.Threading.Tasks;
using BirdsiteLive.Twitter;
using BirdsiteLive.Twitter.Tools;
using BirdsiteLive.Statistics.Domain;
using Moq;
2022-12-29 09:58:08 -05:00
using BirdsiteLive.DAL.Contracts;
using BirdsiteLive.DAL.Models;
2022-12-26 14:21:58 -05:00
namespace BirdsiteLive.ActivityPub.Tests
{
[TestClass]
public class TimelineTests
{
private ITwitterTweetsService _tweetService;
[TestInitialize]
public async Task TestInit()
{
var logger1 = new Mock<ILogger<TwitterAuthenticationInitializer>>(MockBehavior.Strict);
var logger2 = new Mock<ILogger<TwitterUserService>>(MockBehavior.Strict);
var logger3 = new Mock<ILogger<TwitterTweetsService>>();
var stats = new Mock<ITwitterStatisticsHandler>();
2022-12-28 15:17:48 -05:00
var settings = new Mock<Common.Settings.InstanceSettings>();
2022-12-29 09:58:08 -05:00
var twitterDal = new Mock<ITwitterUserDal>();
twitterDal
.Setup(x => x.GetTwitterUserAsync(
It.Is<string>(y => true)
))
.ReturnsAsync(new SyncTwitterUser { TwitterUserId = default });
2022-12-26 14:21:58 -05:00
ITwitterAuthenticationInitializer auth = new TwitterAuthenticationInitializer(logger1.Object);
ITwitterUserService user = new TwitterUserService(auth, stats.Object, logger2.Object);
2022-12-28 15:17:48 -05:00
ICachedTwitterUserService user2 = new CachedTwitterUserService(user, settings.Object);
2022-12-29 09:58:08 -05:00
_tweetService = new TwitterTweetsService(auth, stats.Object, user2, twitterDal.Object, logger3.Object);
2022-12-26 14:21:58 -05:00
}
[TestMethod]
public async Task TimelineKobe()
{
2022-12-28 14:36:16 -05:00
var tweets = await _tweetService.GetTimelineAsync("kobebryant", 100, 1218020971346444288);
2022-12-26 14:21:58 -05:00
Assert.AreEqual(tweets[0].MessageContent, "Continuing to move the game forward @KingJames. Much respect my brother 💪🏾 #33644");
2022-12-29 13:02:38 -05:00
Assert.AreEqual(tweets.Length, 8);
2022-12-26 14:21:58 -05:00
}
2022-12-28 14:36:16 -05:00
2022-12-26 14:21:58 -05:00
}
}