コード例 #1
0
        public async Task Post_CallsRemoveConnections()
        {
            var addedConnections    = new List <connection_user_topic>();
            var connectionsToRemove = new List <connection_user_topic>
            {
                new connection_user_topic
                {
                    AspNetUserID = user.Id,
                    TopicID      = 1
                }
            };
            var postDto       = SetupForPost(addedConnections);
            var toUnsubscribe = new List <int> {
                1
            };

            postDto.To_Unsubscribe = toUnsubscribe;
            var topicsController = new TopicsController(unitOfWork.Object, mockEmailService.Object, mockManager.Object);

            await topicsController.PostControllerAsync(postDto);

            topicsRepository.Verify(x => x.RemoveConnections(It.Is <IEnumerable <connection_user_topic> >(
                                                                 list => list.Count() == 1 &&
                                                                 list.First().AspNetUserID == connectionsToRemove[0].AspNetUserID &&
                                                                 list.First().TopicID == connectionsToRemove[0].TopicID)));
        }
コード例 #2
0
        public async Task Post_ReturnsSuccessAsync()
        {
            var addedConnections   = new List <connection_user_topic>();
            var removedConnections = new List <connection_user_topic>();
            var postDto            = SetupForPost(addedConnections);
            var topicsController   = new TopicsController(unitOfWork.Object, mockEmailService.Object, mockManager.Object);

            var result = await topicsController.PostControllerAsync(postDto);

            Assert.AreEqual("success", result);
        }
コード例 #3
0
        public async Task Post_AddsConnectionsAndCallsEmailServiceAsync()
        {
            var addedConnections   = new List <connection_user_topic>();
            var removedConnections = new List <connection_user_topic>();
            var postDto            = SetupForPost(addedConnections);
            var toSubscribe        = new List <int> {
                1, 2
            };

            postDto.To_Subscribe = toSubscribe;
            var topicsController = new TopicsController(unitOfWork.Object, mockEmailService.Object, mockManager.Object);

            await topicsController.PostControllerAsync(postDto);

            Assert.AreEqual(toSubscribe.Count, addedConnections.Count);
            Assert.AreEqual(toSubscribe[0], addedConnections[0].TopicID);
            Assert.AreEqual(toSubscribe[1], addedConnections[1].TopicID);
            Assert.AreEqual(user.Id, addedConnections[0].AspNetUserID);
            mockEmailService.Verify(x => x.SendNecessaryArticlesToUser(It.IsAny <AspNetUser>(), It.IsAny <int>()), Times.Exactly(toSubscribe.Count));
        }