예제 #1
0
        public void 途中でNGユーザに指定された時に非表示になるか()
        {
            var userId           = "abc";
            var lineLiveUserMock = new Mock <LineLiveSitePlugin.ParseMessage.IUser>();

            lineLiveUserMock.Setup(u => u.Id).Returns(123);
            var messageMock = new Mock <LineLiveSitePlugin.ParseMessage.IMessageData>();
            var senderMock  = new Mock <LineLiveSitePlugin.ParseMessage.IUser>();
            var optionsMock = new Mock <ICommentOptions>();

            var siteOptionsMock = new Mock <ILineLiveSiteOptions>();

            siteOptionsMock.Setup(s => s.IsAutoSetNickname).Returns(true);

            var cpMock = new Mock <ICommentProvider>();
            var user   = new UserTest(userId);

            user.IsNgUser = false;

            var message = messageMock.Object;
            var sender  = senderMock.Object;
            var cvm     = new LineLiveCommentViewModel(optionsMock.Object, siteOptionsMock.Object, message, sender, user, cpMock.Object);

            Assert.IsTrue(cvm.IsVisible);
            user.IsNgUser = true;
            Assert.IsFalse(cvm.IsVisible);
        }
예제 #2
0
        private LineLiveCommentViewModel CreateCvm(IUser user, string username, string message)
        {
            var lineLiveUserMock = new Mock <LineLiveSitePlugin.ParseMessage.IUser>();

            lineLiveUserMock.Setup(u => u.Id).Returns(123);
            var messageMock = new Mock <LineLiveSitePlugin.ParseMessage.IMessageData>();

            messageMock.Setup(m => m.Message).Returns(message);
            var senderMock = new Mock <LineLiveSitePlugin.ParseMessage.IUser>();

            senderMock.Setup(s => s.DisplayName).Returns(username);
            var optionsMock = new Mock <ICommentOptions>();

            var siteOptionsMock = new Mock <ILineLiveSiteOptions>();

            siteOptionsMock.Setup(s => s.IsAutoSetNickname).Returns(true);

            var cpMock = new Mock <ICommentProvider>();

            var messageData = messageMock.Object;
            var sender      = senderMock.Object;
            var cvm         = new LineLiveCommentViewModel(optionsMock.Object, siteOptionsMock.Object, messageData, sender, user, cpMock.Object);

            return(cvm);
        }
예제 #3
0
        public void IsInvisibleTest()
        {
            var messageMock = new Mock <ILineLiveComment>();

            messageMock.Setup(m => m.Id).Returns("");
            var metadataMock         = new Mock <IMessageMetadata>();
            var methodsMock          = new Mock <IMessageMethods>();
            var connectionStatusMock = new Mock <IConnectionStatus>();
            var optionsMock          = new Mock <IOptions>();

            var message          = messageMock.Object;
            var metadata         = metadataMock.Object;
            var methods          = methodsMock.Object;
            var connectionStatus = connectionStatusMock.Object;
            var options          = optionsMock.Object;

            var cvm       = new LineLiveCommentViewModel(message, metadata, methods, connectionStatus, options);
            var isVisible = true;

            cvm.PropertyChanged += (s, e) =>
            {
                switch (e.PropertyName)
                {
                case nameof(metadata.IsVisible):
                    isVisible = cvm.IsVisible;
                    break;
                }
            };
            metadataMock.Setup(u => u.IsVisible).Returns(false);
            metadataMock.Raise(c => c.PropertyChanged += null, new PropertyChangedEventArgs(nameof(metadata.IsVisible)));
            Assert.IsFalse(isVisible);
        }
예제 #4
0
        public void VisibilityTest(bool isNgUser, bool isVisible)
        {
            var lineLiveUserMock = new Mock <LineLiveSitePlugin.ParseMessage.IUser>();

            lineLiveUserMock.Setup(u => u.Id).Returns(123);
            var messageMock = new Mock <LineLiveSitePlugin.ParseMessage.IMessageData>();
            var senderMock  = new Mock <LineLiveSitePlugin.ParseMessage.IUser>();
            var optionsMock = new Mock <ICommentOptions>();

            var siteOptionsMock = new Mock <ILineLiveSiteOptions>();

            siteOptionsMock.Setup(s => s.IsAutoSetNickname).Returns(true);

            var cpMock   = new Mock <ICommentProvider>();
            var userMock = new Mock <IUser>();

            userMock.Setup(u => u.IsNgUser).Returns(isNgUser);
            var message = messageMock.Object;
            var sender  = senderMock.Object;
            var cvm     = new LineLiveCommentViewModel(optionsMock.Object, siteOptionsMock.Object, message, sender, userMock.Object, cpMock.Object);

            Assert.AreEqual(isVisible, cvm.IsVisible);
        }