Exemplo n.º 1
0
        public void FeedbackItemDataManager_AddNewFeedbackItem_CheckIfDBContainNewFeedbackItem()
        {
            //arrange
            var feedbackItemRepository = new FeedbackItemRepository(_datacontext);
            FeedbackItemDataManager feedbackItemDataManager = new FeedbackItemDataManager(feedbackItemRepository);

            FeedbackItemData newFeedbackItem = new FeedbackItemData
            {
                FeedbackItemId = 5,
                Mandatory = false,
                SortNumber = 5,
                IsNumeric = false,
                FeedbackModelId = 2,
                NameTranslationKey = "NameTranslKey5",
                DescriptionTranslationKey = "DescrTranslation Key5"
            };

            //act
            feedbackItemDataManager.AddNewFeedbackItem(newFeedbackItem);
            List<FeedbackItemData> result = feedbackItemDataManager.GetFeedbackItemsData();
            FeedbackItemData checkedFeedbackItem = result.Single(x => x.FeedbackItemId == newFeedbackItem.FeedbackItemId);

            //assert
            Assert.AreEqual(5, result.Count);
            Assert.AreEqual(newFeedbackItem.Mandatory, checkedFeedbackItem.Mandatory);
            Assert.AreEqual(newFeedbackItem.SortNumber, checkedFeedbackItem.SortNumber);
            Assert.AreEqual(newFeedbackItem.IsNumeric, checkedFeedbackItem.IsNumeric);
            Assert.AreEqual(newFeedbackItem.FeedbackModelId, checkedFeedbackItem.FeedbackModelId);
            Assert.AreEqual(newFeedbackItem.NameTranslationKey, checkedFeedbackItem.NameTranslationKey);
            Assert.AreEqual(newFeedbackItem.DescriptionTranslationKey, checkedFeedbackItem.DescriptionTranslationKey);
            Assert.AreEqual(newFeedbackItem.FeedbackItemId, checkedFeedbackItem.FeedbackItemId);
        }
Exemplo n.º 2
0
        public void FeedbackItemDataManager_DeleteFeedbackItem_CheckIfDBContainFourSettingAfterDeleting()
        {
            //arrange
            var feedbackItemRepository = new FeedbackItemRepository(_datacontext);
            FeedbackItemDataManager feedbackItemDataManager = new FeedbackItemDataManager(feedbackItemRepository);

            FeedbackItemData newFeedbackItem = new FeedbackItemData
               {
               FeedbackItemId = 5,
               Mandatory = false,
               SortNumber = 5,
               IsNumeric = false,
               FeedbackModelId = 2,
               NameTranslationKey = "NameTranslKey5",
               DescriptionTranslationKey = "DescrTranslation Key5"
               };

            //act
            feedbackItemDataManager.AddNewFeedbackItem(newFeedbackItem);
            var resultCountAfterAdding = feedbackItemDataManager.GetFeedbackItemsData().ToList().Count;
            feedbackItemDataManager.DeleteFeedbackItem(newFeedbackItem);
            var resultCountAfterDeleting = feedbackItemDataManager.GetFeedbackItemsData().ToList().Count;

            //assert
            Assert.AreEqual(6, resultCountAfterAdding);
            Assert.AreEqual(5, resultCountAfterDeleting);
        }
Exemplo n.º 3
0
        public void FeedbackItemDataManager_DeleteFeedbackItem_DeleteNonExistingItem()
        {
            //arrange
            var feedbackItemRepository = new FeedbackItemRepository(_datacontext);
            FeedbackItemDataManager feedbackItemDataManager = new FeedbackItemDataManager(feedbackItemRepository);

            FeedbackItemData newFeedbackItem = new FeedbackItemData
            {
                FeedbackItemId = 50,
                Mandatory = false,
                SortNumber = 50,
                IsNumeric = false,
                FeedbackModelId = 2,
                NameTranslationKey = "NameTranslKey50",
                DescriptionTranslationKey = "DescrTranslation Key50"
            };

            //act
            //feedbackItemDataManager.AddNewFeedbackItem(newFeedbackItem);
            var resultCountBeforeDeleting = feedbackItemDataManager.GetFeedbackItemsData().ToList().Count;
            feedbackItemDataManager.DeleteFeedbackItem(newFeedbackItem);
            var resultCountAfterDeleting = feedbackItemDataManager.GetFeedbackItemsData().ToList().Count;

            //assert
            Assert.AreEqual(resultCountBeforeDeleting, resultCountAfterDeleting);
        }
Exemplo n.º 4
0
        public void FeedbackItemDataManager_SetFeedbackItemsData_UpdateNonExistingItem()
        {
            //arrange
            var feedbackItemRepository = new FeedbackItemRepository(_datacontext);
            FeedbackItemDataManager feedbackItemDataManager = new FeedbackItemDataManager(feedbackItemRepository);
            FeedbackItemData newFeedbackItem = new FeedbackItemData
            {
                FeedbackItemId = 50,
                Mandatory = false,
                SortNumber = 50,
                IsNumeric = false,
                FeedbackModelId = 2,
                NameTranslationKey = "NameTranslKey50",
                DescriptionTranslationKey = "DescrTranslation Key50"
            };

            //act
            feedbackItemDataManager.SetFeedbackItemsData(new List<FeedbackItemData>() { newFeedbackItem });
        }
Exemplo n.º 5
0
        public void FeedbackItemDataManager_SetFeedbackItemsData_CheckIfDBContainUpdatedFeedbackItem()
        {
            //arrange
            var feedbackItemRepository = new FeedbackItemRepository(_datacontext);
            FeedbackItemDataManager feedbackItemDataManager = new FeedbackItemDataManager(feedbackItemRepository);
            FeedbackItemData newFeedbackItem = new FeedbackItemData
            {
                FeedbackItemId = 6,
                Mandatory = false,
                SortNumber = 5,
                IsNumeric = false,
                FeedbackModelId = 2,
                NameTranslationKey = "NameTranslKey5",
                DescriptionTranslationKey = "DescrTranslation Key5"
            };

            //act
            feedbackItemDataManager.AddNewFeedbackItem(newFeedbackItem);

            newFeedbackItem.Mandatory = true;
            newFeedbackItem.SortNumber = 100;
            newFeedbackItem.IsNumeric = true;
            newFeedbackItem.FeedbackModelId = 1;
            newFeedbackItem.NameTranslationKey = "NameTranslKey1";
            newFeedbackItem.DescriptionTranslationKey = "DescrTranslation Key1";

            feedbackItemDataManager.SetFeedbackItemsData(new List<FeedbackItemData>() { newFeedbackItem });
            var updatedList = feedbackItemDataManager.GetFeedbackItemsData().ToList();

            FeedbackItemData checkedFeedbackItem = updatedList.Single(x => x.FeedbackItemId == newFeedbackItem.FeedbackItemId);
            //assert

            Assert.AreEqual(6, updatedList.Count);
            Assert.AreEqual(newFeedbackItem.Mandatory, checkedFeedbackItem.Mandatory);
            Assert.AreEqual(newFeedbackItem.SortNumber, checkedFeedbackItem.SortNumber);
            Assert.AreEqual(newFeedbackItem.IsNumeric, checkedFeedbackItem.IsNumeric);
            Assert.AreEqual(newFeedbackItem.FeedbackModelId, checkedFeedbackItem.FeedbackModelId);
            Assert.AreEqual(newFeedbackItem.NameTranslationKey, checkedFeedbackItem.NameTranslationKey);
            Assert.AreEqual(newFeedbackItem.DescriptionTranslationKey, checkedFeedbackItem.DescriptionTranslationKey);
            Assert.AreEqual(newFeedbackItem.FeedbackItemId, checkedFeedbackItem.FeedbackItemId);
        }
Exemplo n.º 6
0
        public void FeedbackItemDataManager_GetFeedbackItemsData_CheckIfDBContainFourSetting()
        {
            //arrange
            var feedbackItemRepository = new FeedbackItemRepository(_datacontext);
            FeedbackItemDataManager feedbackItemDataManager = new FeedbackItemDataManager(feedbackItemRepository);

            //act
            var result = feedbackItemDataManager.GetFeedbackItemsData().ToList().Count;

            //assert
            Assert.AreEqual(5, result);
        }
Exemplo n.º 7
0
        /// <summary>
        /// Creates the feedback.
        /// </summary>
        /// <param name="feedbacksData">The feedbacks data.</param>
        public void CreateFeedback(RouteNodeWithFeedbacksData feedbacksData)
        {
            var feedbackItemRepository = new FeedbackItemRepository();
            var routeRepository = new RoutesRepository();

            RouteNode routeNode = routeRepository.GetRouteNode(
                feedbacksData.OriginCityNodeId, feedbacksData.DestinationCityNodeId);

            int feedbackId = feedbackItemRepository.AddNewFeedback(routeNode.RouteNodeId, feedbacksData.UserId,
                    feedbacksData.SubmitTime);

            feedbacksData.FeedbackValues.ForEach(feedbackValue => feedbackItemRepository.AddNewFeedbackValue(new FeedbackValueData()
            {
                FeedbackId = feedbackId,
                Value = feedbackValue.Value,
                FeedbackItemId = feedbackValue.FeedbackItemId
            }));
        }
Exemplo n.º 8
0
        /// <summary>
        /// Adds the new feedback and get URL to route.
        /// </summary>
        /// <param name="routesNodeWithFeedbacksData">The routes node with feedbacks data.</param>
        /// <returns>Return URL to route with new feedbacks</returns>
        public string AddNewFeedbackAndGetUrlToRoute(List<RouteNodeWithFeedbacksData> routesNodeWithFeedbacksData)
        {
            RoutesRepository routeRepository = new RoutesRepository();
            FeedbackItemRepository feedbackItemRepository = new FeedbackItemRepository();
            StringBuilder track = new StringBuilder(routesNodeWithFeedbacksData.Count * 5 + routesNodeWithFeedbacksData.Count - 1);

            bool backwardOrder = routesNodeWithFeedbacksData[0].OriginCityNodeId >
                     routesNodeWithFeedbacksData[routesNodeWithFeedbacksData
                     .Count - 1].DestinationCityNodeId;

            routesNodeWithFeedbacksData.ForEach(routeWithFeedback =>
            {
                RouteNode routeNode = routeRepository.GetRouteNode(
                routeWithFeedback.OriginCityNodeId, routeWithFeedback.DestinationCityNodeId) ??
                    new RouteNode()
                    {
                        RouteNodeId = routeRepository.CreateRouteNode(routeWithFeedback.OriginCityNodeId,
                            routeWithFeedback.DestinationCityNodeId)
                    };

                int feedbackId = feedbackItemRepository.AddNewFeedback(routeNode.RouteNodeId, routeWithFeedback.UserId,
                    routeWithFeedback.SubmitTime);

                routeWithFeedback.FeedbackValues.ForEach(feedbackValue => feedbackItemRepository.AddNewFeedbackValue(new FeedbackValueData()
                {
                    FeedbackId = feedbackId,
                    Value = feedbackValue.Value,
                    FeedbackItemId = feedbackValue.FeedbackItemId
                }));

                if (!backwardOrder)
                {
                    track.Append(routeWithFeedback.OriginCityNodeId).Append("-");
                    if (routeWithFeedback.Equals(routesNodeWithFeedbacksData.Last()))
                    {
                        track.Append(routeWithFeedback.DestinationCityNodeId);
                    }
                }
                else
                {
                    track.Insert(0, routeWithFeedback.OriginCityNodeId).Insert(0, "-");
                    if (routeWithFeedback.Equals(routesNodeWithFeedbacksData.Last()))
                    {
                        track.Insert(0, routeWithFeedback.DestinationCityNodeId);
                    }
                }
            });
            BuildRoutes(routesNodeWithFeedbacksData[0].OriginCityNodeId,
                routesNodeWithFeedbacksData[routesNodeWithFeedbacksData.Count - 1].DestinationCityNodeId);

            string hash = routeRepository.GetHashByTrack(track.ToString());
            return String.Format("{0}-{1}-To-{2}", hash,
                routesNodeWithFeedbacksData.First().OriginCityNode,
                routesNodeWithFeedbacksData.Last().DestinationCityNode)
                .Replace(" ", "-")
                .Replace(",", "");
        }