From aea0244b2aedf2ec30cc6e070203c82f74ee7e8d Mon Sep 17 00:00:00 2001 From: Nicolas Constant Date: Mon, 15 Feb 2021 18:27:24 -0500 Subject: [PATCH] tests creation --- .../Actions/RejectAllFollowingsActionTests.cs | 114 ++++++++++++++++++ .../Actions/RejectFollowingActionTests.cs | 7 ++ .../Actions/RemoveFollowerActionTests.cs | 7 ++ .../RemoveTwitterAccountActionTests.cs | 7 ++ .../FollowerModerationProcessorTests.cs | 7 ++ .../TwitterAccountModerationProcessorTests.cs | 7 ++ 6 files changed, 149 insertions(+) create mode 100644 src/Tests/BirdsiteLive.Moderation.Tests/Actions/RejectAllFollowingsActionTests.cs create mode 100644 src/Tests/BirdsiteLive.Moderation.Tests/Actions/RejectFollowingActionTests.cs create mode 100644 src/Tests/BirdsiteLive.Moderation.Tests/Actions/RemoveFollowerActionTests.cs create mode 100644 src/Tests/BirdsiteLive.Moderation.Tests/Actions/RemoveTwitterAccountActionTests.cs create mode 100644 src/Tests/BirdsiteLive.Moderation.Tests/Processors/FollowerModerationProcessorTests.cs create mode 100644 src/Tests/BirdsiteLive.Moderation.Tests/Processors/TwitterAccountModerationProcessorTests.cs diff --git a/src/Tests/BirdsiteLive.Moderation.Tests/Actions/RejectAllFollowingsActionTests.cs b/src/Tests/BirdsiteLive.Moderation.Tests/Actions/RejectAllFollowingsActionTests.cs new file mode 100644 index 0000000..3fda47b --- /dev/null +++ b/src/Tests/BirdsiteLive.Moderation.Tests/Actions/RejectAllFollowingsActionTests.cs @@ -0,0 +1,114 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using BirdsiteLive.ActivityPub; +using BirdsiteLive.Common.Settings; +using BirdsiteLive.DAL.Contracts; +using BirdsiteLive.DAL.Models; +using BirdsiteLive.Domain; +using BirdsiteLive.Moderation.Actions; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using Moq; + +namespace BirdsiteLive.Moderation.Tests.Actions +{ + [TestClass] + public class RejectAllFollowingsActionTests + { + [TestMethod] + public async Task ProcessAsync() + { + #region Stubs + var follower = new Follower + { + Followings = new List + { + 24 + }, + Host = "host" + }; + + var settings = new InstanceSettings + { + Domain = "domain" + }; + #endregion + + #region Mocks + var twitterUserDalMock = new Mock(); + twitterUserDalMock + .Setup(x => x.GetTwitterUserAsync( + It.Is(y => y == 24))) + .ReturnsAsync(new SyncTwitterUser + { + Id = 24, + Acct = "acct" + }); + + var userServiceMock = new Mock(); + userServiceMock + .Setup(x => x.SendRejectFollowAsync( + It.Is(y => y.type == "Follow"), + It.IsNotNull() + )) + .ReturnsAsync(true); + #endregion + + var action = new RejectAllFollowingsAction(twitterUserDalMock.Object, userServiceMock.Object, settings); + await action.ProcessAsync(follower); + + #region Validations + twitterUserDalMock.VerifyAll(); + userServiceMock.VerifyAll(); + #endregion + } + + [TestMethod] + public async Task ProcessAsync_Exception() + { + #region Stubs + var follower = new Follower + { + Followings = new List + { + 24 + }, + Host = "host" + }; + + var settings = new InstanceSettings + { + Domain = "domain" + }; + #endregion + + #region Mocks + var twitterUserDalMock = new Mock(); + twitterUserDalMock + .Setup(x => x.GetTwitterUserAsync( + It.Is(y => y == 24))) + .ReturnsAsync(new SyncTwitterUser + { + Id = 24, + Acct = "acct" + }); + + var userServiceMock = new Mock(); + userServiceMock + .Setup(x => x.SendRejectFollowAsync( + It.Is(y => y.type == "Follow"), + It.IsNotNull() + )) + .Throws(new Exception()); + #endregion + + var action = new RejectAllFollowingsAction(twitterUserDalMock.Object, userServiceMock.Object, settings); + await action.ProcessAsync(follower); + + #region Validations + twitterUserDalMock.VerifyAll(); + userServiceMock.VerifyAll(); + #endregion + } + } +} \ No newline at end of file diff --git a/src/Tests/BirdsiteLive.Moderation.Tests/Actions/RejectFollowingActionTests.cs b/src/Tests/BirdsiteLive.Moderation.Tests/Actions/RejectFollowingActionTests.cs new file mode 100644 index 0000000..870f1bd --- /dev/null +++ b/src/Tests/BirdsiteLive.Moderation.Tests/Actions/RejectFollowingActionTests.cs @@ -0,0 +1,7 @@ +namespace BirdsiteLive.Moderation.Tests.Actions +{ + public class RejectFollowingActionTests + { + + } +} \ No newline at end of file diff --git a/src/Tests/BirdsiteLive.Moderation.Tests/Actions/RemoveFollowerActionTests.cs b/src/Tests/BirdsiteLive.Moderation.Tests/Actions/RemoveFollowerActionTests.cs new file mode 100644 index 0000000..a2f8751 --- /dev/null +++ b/src/Tests/BirdsiteLive.Moderation.Tests/Actions/RemoveFollowerActionTests.cs @@ -0,0 +1,7 @@ +namespace BirdsiteLive.Moderation.Tests.Actions +{ + public class RemoveFollowerActionTests + { + + } +} \ No newline at end of file diff --git a/src/Tests/BirdsiteLive.Moderation.Tests/Actions/RemoveTwitterAccountActionTests.cs b/src/Tests/BirdsiteLive.Moderation.Tests/Actions/RemoveTwitterAccountActionTests.cs new file mode 100644 index 0000000..a0451c7 --- /dev/null +++ b/src/Tests/BirdsiteLive.Moderation.Tests/Actions/RemoveTwitterAccountActionTests.cs @@ -0,0 +1,7 @@ +namespace BirdsiteLive.Moderation.Tests.Actions +{ + public class RemoveTwitterAccountActionTests + { + + } +} \ No newline at end of file diff --git a/src/Tests/BirdsiteLive.Moderation.Tests/Processors/FollowerModerationProcessorTests.cs b/src/Tests/BirdsiteLive.Moderation.Tests/Processors/FollowerModerationProcessorTests.cs new file mode 100644 index 0000000..3acaa4f --- /dev/null +++ b/src/Tests/BirdsiteLive.Moderation.Tests/Processors/FollowerModerationProcessorTests.cs @@ -0,0 +1,7 @@ +namespace BirdsiteLive.Moderation.Tests.Processors +{ + public class FollowerModerationProcessorTests + { + + } +} \ No newline at end of file diff --git a/src/Tests/BirdsiteLive.Moderation.Tests/Processors/TwitterAccountModerationProcessorTests.cs b/src/Tests/BirdsiteLive.Moderation.Tests/Processors/TwitterAccountModerationProcessorTests.cs new file mode 100644 index 0000000..8cf2020 --- /dev/null +++ b/src/Tests/BirdsiteLive.Moderation.Tests/Processors/TwitterAccountModerationProcessorTests.cs @@ -0,0 +1,7 @@ +namespace BirdsiteLive.Moderation.Tests.Processors +{ + public class TwitterAccountModerationProcessorTests + { + + } +} \ No newline at end of file