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; using System.Net.Http; namespace BirdsiteLive.ActivityPub.Tests { [TestClass] public class UserTests { private ITwitterUserService _tweetService; [TestInitialize] public async Task TestInit() { var logger1 = new Mock>(MockBehavior.Strict); var logger2 = new Mock>(MockBehavior.Strict); var logger3 = new Mock>(); var stats = new Mock(); var httpFactory = new Mock(); httpFactory.Setup(_ => _.CreateClient(string.Empty)).Returns(new HttpClient()); ITwitterAuthenticationInitializer auth = new TwitterAuthenticationInitializer(httpFactory.Object, logger1.Object); _tweetService = new TwitterUserService(auth, stats.Object, logger3.Object); } [TestMethod] public async Task UserKobe() { var user = await _tweetService.GetUserAsync("kobebryant"); Assert.AreEqual(user.Name, "Kobe Bryant"); Assert.AreEqual(user.Acct, "kobebryant"); } } }