예제 #1
0
        public void DeleteByParentPartner()
        {
            // создаём мэнэджеры, тесты и сущности
            var _gpvMgr     = CreateManager();
            var _gpv        = CreateNew();
            var _gpvKey     = _gpv.GetKey();
            var _parentTest = new PartnerTest();
            var _parentMgr  = CreateManager <Partner>();
            var _parent     = _parentTest.CreateNew();
            var _parentKey  = _parent.GetKey();

            try
            {
                // привязываем GPV к сущности
                _gpv.AsDynamic().GPARAMVAL2ENTITY = "PARTNER";
                _gpv.AsDynamic().GPARAMVALKEY     = _parent.GetKey();

                // проверяем что правильно привязали
                _gpvMgr.Update(_gpv);
                var _oldGpv = _gpvMgr.Get(_gpvKey);
                _oldGpv.GetKey().Equals(_gpvKey);

                // удаляем родителя, проверяем что правильно удалили
                _parentMgr.Delete(_parent);
                var deleted = _parentMgr.Get(_parentKey);
                deleted.Should().BeNull("Не смогли удалить {0}", typeof(Worker));

                var _newGpv = _gpvMgr.Get(_gpvKey);
                _newGpv.Should().BeNull("Вложеная сущность должна удаляться при удалении основной");
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                ClearForSelf();
                _parentTest.ClearForSelf();
            }
        }