示例#1
0
 public void OnWidgetUpdated(Widget widget)
 {
     if (WidgetUpdated != null)
     {
         WidgetUpdated(new SingleItemEventArgs<Widget>(widget));
     }
 }
示例#2
0
        protected Mock<IRepository> MockWidgetsRepository(Widget[] widgets)
        {
            var mock = new Mock<IRepository>();

            mock.Setup(r => r.First<ServerControlWidget>(It.IsAny<Guid>()))
                .Returns((ServerControlWidget)widgets[0]);

            mock.Setup(r => r.First<HtmlContentWidget>(It.IsAny<Guid>()))
                .Returns((HtmlContentWidget)widgets[1]);

            mock.Setup(f => f.AsQueryable<Widget>())
                .Returns(widgets.AsQueryable());

            return mock;
        }
        public void Should_Retrieve_Widgets_From_Database_Paged_And_Sorted_By_WidgetName()
        {
            RunActionInTransaction(session =>
                {
                    var widgets = new Widget[]
                                      {
                                         TestDataProvider.CreateNewServerControlWidget(),
                                         TestDataProvider.CreateNewServerControlWidget(),
                                         TestDataProvider.CreateNewHtmlContentWidget()
                                      };
                    int i = 0;
                    foreach (var widget in widgets)
                    {
                        widget.Name = "test name " + i++;
                        session.SaveOrUpdate(widget);
                    }
                    session.Flush();
                    session.Clear();

                    var unitOfWork = new DefaultUnitOfWork(session);
                    var repository = new DefaultRepository(unitOfWork);
                    var categoryService = new Mock<ICategoryService>();
                    var cmsConfiguration = new Mock<ICmsConfiguration>().Object;
                    var widgetService = new DefaultWidgetService(repository, unitOfWork, null, null, null, categoryService.Object, cmsConfiguration);
                    var command = new GetSiteSettingsWidgetsCommand(widgetService);

                    var result = command.Execute(new WidgetsFilter
                                                     {
                                                         PageSize = 20,
                                                         Column = "WidgetName",
                                                         Direction = SortDirection.Ascending,
                                                         PageNumber = 1,
                                                         SearchQuery = "test name 2"
                                                     });

                    Assert.IsNotNull(result);
                    Assert.AreEqual(1, result.Items.TotalItems);
                    Assert.AreEqual(widgets[2].Name, result.Items.First().WidgetName);
                });
        }
        public void Should_Retrieve_Widgets_From_Database_Paged_And_Sorted_By_CategoryName()
        {
            RunActionInTransaction(session =>
                {
                    var widgets = new Widget[]
                                      {
                                         this.TestDataProvider.CreateNewServerControlWidget(),
                                         this.TestDataProvider.CreateNewServerControlWidget(),
                                         this.TestDataProvider.CreateNewHtmlContentWidget()
                                      };
                    int i = 0;
                    foreach (var widget in widgets)
                    {
                        widget.Name = "test name " + i++;
                        session.SaveOrUpdate(widget);
                    }
                    session.Flush();
                    session.Clear();

                    IUnitOfWork unitOfWork = new DefaultUnitOfWork(session);

                    GetSiteSettingsWidgetsCommand command = new GetSiteSettingsWidgetsCommand();
                    command.UnitOfWork = unitOfWork;
                    command.Repository = new DefaultRepository(unitOfWork);

                    var result = command.Execute(new SearchableGridOptions
                                                     {
                                                         PageSize = 20,
                                                         Column = "CategoryName",
                                                         Direction = SortDirection.Ascending,
                                                         PageNumber = 1,
                                                         SearchQuery = "test name 2"
                                                     });

                    Assert.IsNotNull(result);
                    Assert.AreEqual(1, result.Items.TotalItems);
                    Assert.AreEqual(widgets[2].Name, result.Items.First().WidgetName);
                });
        }