private void FindChild(ref List <CatalogGroupTree> catalogTree, GoodGroup group)
        {
            var storeActions = new StoreAction();
            var parentId     = group.id;

            if (catalogTree == null)
            {
                catalogTree = new List <CatalogGroupTree>();
            }
            var current = new CatalogGroupTree {
                groupId = group.id, groupName = group.name,
                link    = $"~/Catalog/{group.id}"
            };

            catalogTree.Add(current);
            var groups = storeActions.GetGroups().Where(s => s.parentId == parentId).ToList();

            if (groups?.Count > 0)
            {
                foreach (var item in groups)
                {
                    FindChild(ref current.childGroups, item);
                }
            }
        }
Example #2
0
        public void TestUpdateGood()
        {
            var odmen      = new OdmenAction();
            var store      = new StoreAction();
            var goodUpdate = store.GetAllGoods().FirstOrDefault(s => s.name.Contains("name"));

            if (goodUpdate == null)
            {
                Assert.Pass("Нет тестового товара для изменения");
                return;
            }
            goodUpdate.name     = "name_Updated";
            goodUpdate.info     = "info_Updated";
            goodUpdate.imageUrl = "imageUrl_Updated";
            goodUpdate.discount = 78;
            goodUpdate.price    = 67889.23M;
            goodUpdate.groupId  = store.GetGroups().Last().id;
            goodUpdate.fullInfo = "fullInfo_Updated";
            odmen.ChangeGood(goodUpdate);
            var updated = store.GetAllGoods().FirstOrDefault(s => s.name == goodUpdate.name
                                                             //&& s.fullInfo == goodUpdate.fullInfo
                                                             && s.info == goodUpdate.info && s.imageUrl == goodUpdate.imageUrl &&
                                                             s.price == goodUpdate.price && s.discount == goodUpdate.discount);

            // TODO: Add your test code here
            Assert.IsNotNull(updated);
        }
        private CatalogModel GetCatalogModel(long?groupId)
        {
            var store = new StoreAction();

            if (groupId == null || groupId == 0)
            {
                var modelAll = new CatalogModel
                {
                    goods   = store.GetAllGoods().Select(s => new GoodViewModel(s)).ToList(),
                    groupId = 0,
                };
                modelAll.filter = _filterCatalog(modelAll);
                return(modelAll);
            }
            var allGroups = store.GetGroups();
            var groups    = new List <long>();

            if (!allGroups.Exists(s => s.id == groupId))
            {
                Response.Redirect(Url.Content("~/Error/_404"), true);
                return(null);
            }
            SetPratentGroupLinks(groupId.Value);
            GetChildGroups(groupId.Value, ref groups);
            var goods = store.GetAllGoods().Join(groups, good => good.groupId, group => group, (good, group) => new GoodViewModel(good)).ToList();
            var model = new CatalogModel
            {
                goods = goods
            };

            model.groupId = groupId.Value;
            model.filter  = _filterCatalog(model);
            return(model);
        }
        public void TestGetGroups_CountNotNull()
        {
            var storeAction = new StoreAction();
            var result      = storeAction.GetGroups();

            // TODO: Add your test code here
            Assert.IsTrue(result?.Count() > 0);
        }
        public void TestGetGoodsByGroup_Good()
        {
            var storeAction = new StoreAction();
            var groupId     = storeAction.GetGroups().OrderByDescending(s => s.id).First().id;
            var result      = storeAction.GetGoodsByGroup(groupId);

            // TODO: Add your test code here
            Assert.IsTrue(result?.Count() > 0);
        }
        private void SetPratentGroupLinks(long groupId)
        {
            var que = new Queue <Link>();

            que.Enqueue(GetGroupCatalogLink(groupId));
            var  store    = new StoreAction();
            long?parentId = store.GetGroups().FirstOrDefault(s => s.id == groupId).parentId;

            while (parentId != null)
            {
                var group = store.GetGroups().FirstOrDefault(s => s.id == parentId);
                que.Enqueue(GetGroupCatalogLink(group.id));
                parentId = store.GetGroups().FirstOrDefault(s => s.id == group.parentId)?.parentId;
            }
            foreach (var item in que.Reverse())
            {
                (ViewBag.Links as Queue <Link>).Enqueue(item);
            }
        }
Example #7
0
        public void TestDeleteGroup()
        {
            var odmen        = new OdmenAction();
            var store        = new StoreAction();
            var groupsForDel = store.GetGroups().Where(s => s.name.Contains("name"));

            if (!(groupsForDel?.Count() > 0))
            {
                Assert.Pass("Нет тестовой группы для удаления");
                return;
            }
            foreach (var groupForDel in groupsForDel)
            {
                odmen.DeleteGroup(groupForDel.id);
            }

            var deleted = store.GetGroups().FirstOrDefault(s => s.name.Contains("name"));

            // TODO: Add your test code here
            Assert.IsNull(deleted);
        }
Example #8
0
        public void TestUpdateGroup()
        {
            var odmen       = new OdmenAction();
            var store       = new StoreAction();
            var groupUpdate = store.GetGroups().FirstOrDefault(s => s.name.Contains("name"));

            if (groupUpdate == null)
            {
                Assert.Pass("Нет тестовой группы для изменения");
                return;
            }
            groupUpdate.name     = "name_Updated";
            groupUpdate.info     = "info_Updated";
            groupUpdate.imageUrl = "imageUrl_Updated";

            odmen.ChangeGroup(groupUpdate);
            var updated = store.GetGroups().FirstOrDefault(s => s.name == groupUpdate.name &&
                                                           s.info == groupUpdate.info && s.imageUrl == groupUpdate.imageUrl);

            // TODO: Add your test code here
            Assert.IsNotNull(updated);
        }
        private void GetChildGroups(long groupId, ref List <long> groups)
        {
            groups.Add(groupId);
            var store       = new StoreAction();
            var childGroups = store.GetGroups().Where(s => s.parentId == groupId).Select(s => s.id).ToList();

            if (childGroups?.Count() > 0)
            {
                foreach (var id in childGroups)
                {
                    GetChildGroups(id, ref groups);
                }
            }
        }
Example #10
0
        public void TestCreateGood()
        {
            var odmen   = new OdmenAction();
            var store   = new StoreAction();
            var groupId = store.GetGroups().FirstOrDefault().id;
            var newGood = new Good
            {
                imageUrl = "image" + Guid.NewGuid().ToString(),
                info     = "info" + Guid.NewGuid().ToString(),
                name     = "name" + Guid.NewGuid().ToString().Substring(0, 10),
                discount = 13,
                groupId  = groupId,
                price    = 123.44M,
                fullInfo = Guid.NewGuid().ToString() + Guid.NewGuid().ToString()
            };
            var id       = odmen.CreateGood(newGood);
            var property = new GoodProperty
            {
                goodId = id,
                name   = "name" + Guid.NewGuid(),
                value  = "value" + Guid.NewGuid()
            };
            var properties = new List <GoodProperty> {
                new GoodProperty
                {
                    goodId = id,
                    name   = "name" + Guid.NewGuid(),
                    value  = "value" + Guid.NewGuid()
                }, new GoodProperty
                {
                    goodId = id,
                    name   = "name" + Guid.NewGuid(),
                    value  = "value" + Guid.NewGuid()
                }
            };
            var propertyid = odmen.CreateGoodProperty(property);

            odmen.CreateGoodProperties(properties);
            Assert.IsTrue(id > 0 && propertyid > 0 && property.id > 0 && !properties.Any(s => s.id == 0));
        }