/// <summary>
        /// Initializes a new instance of the <see cref="DragAndDropOptionEditViewModel"/> class. 
        /// Constructor for initializing DragAndDropOptionEditViewModel.
        /// </summary>
        /// <param name="model">
        /// The DocumentEdit model.
        /// </param>
        /// <param name="parentViewModel">
        /// Parent model.
        /// </param>
        /// <param name="baseViewModel">
        /// The base View Model.
        /// </param>
        public DragAndDropOptionEditViewModel(APQPDragAndDropConfigurationEdit model, FieldDocumentEditViewModel parentViewModel, FieldListDocumentProcessViewSectionStepViewModel baseViewModel)
        {
            Parent = parentViewModel;
            BaseVM = baseViewModel;

            SetModel(model);
            
            this.nextSubfieldIsEnabled = Model.Subfields.Any();
            
        }
        public void Child_FetchTest()
        {
            var retriever = new APQPDragAndDropConfigurationList();
            var item = new APQPDragAndDropConfigurationEdit();

            Mock.Arrange(() => item.IsChild).Returns(true);

            Mock.Arrange(() => APQPDragAndDropConfigurationEdit.GetDocumentEdit(Arg.IsAny<SectionViewDragAndDropOptionDto>())).Returns(item).MustBeCalled();

            new PrivateAccessor(retriever).CallMethod("Child_Fetch", new List<SectionViewDragAndDropOptionDto> { new SectionViewDragAndDropOptionDto() });

            Mock.Assert(APQPDragAndDropConfigurationEdit.GetDocumentEdit(Arg.IsAny<SectionViewDragAndDropOptionDto>()));
        }
        public void UpdatePublishedCopyTest()
        {
            var retriever = new APQPDragAndDropConfigurationList();
            var list = new APQPDragAndDropConfigurationList();
            var item = new APQPDragAndDropConfigurationEdit();

            Mock.Arrange(() => item.IsChild).Returns(true);

            Mock.Arrange(() => APQPDragAndDropConfigurationEdit.GetDocumentEdit(Arg.IsAny<SectionViewDragAndDropOptionDto>())).IgnoreInstance().Returns(item);
            
            new PrivateAccessor(retriever).CallMethod("Child_Fetch", new List<SectionViewDragAndDropOptionDto> { new SectionViewDragAndDropOptionDto() });
            new PrivateAccessor(list).CallMethod("Child_Fetch", new List<SectionViewDragAndDropOptionDto> { new SectionViewDragAndDropOptionDto() });

            Mock.Arrange(() => list.Remove(Arg.IsAny<APQPDragAndDropConfigurationEdit>())).DoNothing().MustBeCalled();
            Mock.Arrange(() => list.Add(Arg.IsAny<APQPDragAndDropConfigurationEdit>())).DoNothing().MustBeCalled();

            retriever.UpdatePublishedCopy(list);

            Mock.Assert(list);
        }
 private void SetModel(APQPDragAndDropConfigurationEdit model)
 {
     Model = model;
 }