Esempio n. 1
0
        public static XafApplication XafApplicationInstance(this IFaker faker, Func<IList<Type>> func, DataSet dataSet, params Controller[] controllers) {
            var defaultSkinListGenerator = Isolate.Fake.Instance<DefaultSkinListGenerator>();
            var editorsFactory = new EditorsFactory();
#pragma warning disable 612,618
            Isolate.WhenCalled(() => editorsFactory.CreateListEditor(null, null, null)).WillReturn(new GridListEditor(null));
#pragma warning restore 612,618
            Isolate.Swap.AllInstances<EditorsFactory>().With(editorsFactory);

            Isolate.Swap.NextInstance<DefaultSkinListGenerator>().With(defaultSkinListGenerator);
            var application = Isolate.Fake.Instance<XpandWinApplication>();
            RegisterControllers(application, controllers);
            //            var xpandModuleBase = Isolate.Fake.Instance<XpandModuleBase>(Members.CallOriginal, ConstructorWillBe.Called);
            //            xpandModuleBase.Setup(application);
            var XPObjectSpaceProvider = Isolate.Fake.Instance<IObjectSpaceProvider>();
            Isolate.WhenCalled(() => XPObjectSpaceProvider.TypesInfo).WillReturn(XafTypesInfo.Instance);
            application.CreateCustomObjectSpaceProvider += (sender, args) => args.ObjectSpaceProvider = XPObjectSpaceProvider;
            RegisterDomainComponents(application, func);
            application.Setup();
            Isolate.WhenCalled(() => application.CreateObjectSpace()).WillReturn(ObjectSpaceInMemory.CreateNew(dataSet));

            return application;
        }
Esempio n. 2
0
        public static XafApplication XafApplicationInstance(this IFaker faker, Func <IList <Type> > func, DataSet dataSet, params Controller[] controllers)
        {
            var defaultSkinListGenerator = Isolate.Fake.Instance <DefaultSkinListGenerator>();
            var editorsFactory           = new EditorsFactory();

#pragma warning disable 612,618
            Isolate.WhenCalled(() => editorsFactory.CreateListEditor(null, null, null)).WillReturn(new GridListEditor(null));
#pragma warning restore 612,618
            Isolate.Swap.AllInstances <EditorsFactory>().With(editorsFactory);

            Isolate.Swap.NextInstance <DefaultSkinListGenerator>().With(defaultSkinListGenerator);
            var application = Isolate.Fake.Instance <XpandWinApplication>();
            RegisterControllers(application, controllers);
            //            var xpandModuleBase = Isolate.Fake.Instance<XpandModuleBase>(Members.CallOriginal, ConstructorWillBe.Called);
            //            xpandModuleBase.Setup(application);
            var XPObjectSpaceProvider = Isolate.Fake.Instance <IObjectSpaceProvider>();
            Isolate.WhenCalled(() => XPObjectSpaceProvider.TypesInfo).WillReturn(XafTypesInfo.Instance);
            application.CreateCustomObjectSpaceProvider += (sender, args) => args.ObjectSpaceProvider = XPObjectSpaceProvider;
            RegisterDomainComponents(application, func);
            application.Setup();
            Isolate.WhenCalled(() => application.CreateObjectSpace()).WillReturn(ObjectSpaceInMemory.CreateNew(dataSet));

            return(application);
        }
 protected override ASPxEditBase CreateEditInstance(EditorsFactory factory)
 {
     return new LOSASPxSpinEdit();
 }
Esempio n. 4
0
        public static XafApplication NewApplication(this Platform platform)
        {
            XafApplication application;

            if (platform == Platform.Web)
            {
                application = new TestWebApplication();
            }
            else if (platform == Platform.Win)
            {
                application = new TestWinApplication();
            }
            else
            {
                throw new NotSupportedException("if implemented make sure all tests pass with TestExplorer and live testing");
            }

            var listEditorMock = new Mock <ListEditor> {
                CallBase = true
            };

            listEditorMock.Setup(editor => editor.SupportsDataAccessMode(CollectionSourceDataAccessMode.Client)).Returns(true);
            listEditorMock.Setup(editor => editor.GetSelectedObjects()).Returns(new object[0]);
            listEditorMock.Protected().Setup <object>("CreateControlsCore").Returns(new Control());


            var editorsFactoryMock = new Mock <IEditorsFactory>();
            var editorsFactory     = new EditorsFactory();

            editorsFactoryMock.Setup(_ => _.CreateListEditor(It.IsAny <IModelListView>(),
                                                             It.IsAny <XafApplication>(), It.IsAny <CollectionSourceBase>())).Returns(() => listEditorMock.Object);

            editorsFactoryMock.Setup(_ => _.CreateDetailViewEditor(It.IsAny <bool>(), It.IsAny <IModelViewItem>(), It.IsAny <Type>(), It.IsAny <XafApplication>(), It.IsAny <IObjectSpace>()))
            .Returns((bool needProtectedContent, IModelViewItem modelViewItem, Type objectType, XafApplication app, IObjectSpace objectSpace) => {
                if (modelViewItem is IModelDashboardViewItem modelDashboardViewItem)
                {
                    var detailViewEditor = editorsFactory.CreateDetailViewEditor(needProtectedContent, modelDashboardViewItem, objectType, application, objectSpace);
                    return(detailViewEditor);
                }
                return(new Mock <ViewItem>(typeof(object), Guid.NewGuid().ToString())
                {
                    CallBase = true
                }.Object);
            });

            application.EditorFactory = editorsFactoryMock.Object;

            if (application is WebApplication webApplication)
            {
                var frameTemplateFactoryMock = new Mock <IFrameTemplateFactory>();
                var frameTemplateMock        = new Mock <System.Web.UI.Control>()
                {
                    CallBase = true
                }.As <IFrameTemplate>();
                frameTemplateMock.Setup(template => template.GetContainers()).Returns(new ActionContainerCollection());
                frameTemplateFactoryMock.Setup(factory => factory.CreateTemplate(It.IsAny <TemplateContext>())).Returns(
                    (TemplateContext context) => {
                    if (context == TemplateContext.NestedFrame)
                    {
                        return((IFrameTemplate)frameTemplateMock.As <ISupportActionsToolbarVisibility>().Object);
                    }

                    return(frameTemplateMock.Object);
                });
                webApplication.FrameTemplateFactory = frameTemplateFactoryMock.Object;
            }
            else
            {
                ((WinApplication)application).UseLightStyle = true;
            }
            return(application);
        }