Example #1
0
        public void RemoveStoryFilterShouldIncludeSuchStory()
        {
            var story  = new Story("Not Started Story", "FT-1");
            var filter = new StoryFilter();

            filter.AddStoryFilter <StoryNotStarted>();

            filter.RemoveStoryFilter <StoryNotStarted>();
            Assert.IsTrue(filter.Include(story));
        }
        public void FilterByDescription()
        {
            var weirdString = Guid.NewGuid().ToString();

            var story = EntityFactory.CreateStory("my test story for description", SandboxProject);

            story.Description = weirdString;

            ResetInstance();

            var filter = new StoryFilter();

            filter.Description.Add(weirdString);

            Assert.AreEqual(1, Instance.Get.Stories(filter).Count);
        }
Example #3
0
        public void ShouldOnlyFilterSpecifiedStories()
        {
            var model = new ProjectModel();

            model.AddProject("Fairy Tales");
            model.AddStory("FT", "Don't Filter Me!");

            var filter = new StoryFilter();

            filter.AddStoryFilter <StoryDone>();

            model.AddStoryFilter(filter);
            var activeProject = model.GetActiveProject();

            Assert.AreEqual(1, activeProject.Stories.Length);
        }
Example #4
0
        public void ShouldBeAbleToFilterOutStories()
        {
            var model = new ProjectModel();

            model.AddProject("Fairy Tales");
            model.AddStory("FT", "Filter Me!");

            var filter = new StoryFilter();

            filter.AddStoryFilter <StoryNotStarted>();

            model.AddStoryFilter(filter);
            var activeProject = model.GetActiveProject();

            Assert.AreEqual(0, activeProject.Stories.Length);
        }
Example #5
0
        static void Main(string[] args)
        {
            var v1 = new V1Instance(Url, Username, Password);

            foreach (var row in MyExcelDataSource.GetMyExcelData())
            {
                var whereTerm    = new KeyValuePair <string, string>("Number", row.StoryNumber);
                var whichStories = new StoryFilter();
                whichStories.ArbitraryWhereTerms.Add(whereTerm);
                foreach (var story in v1.Get.Stories(whichStories).Take(1))
                {
                    Console.WriteLine("Got story {0}, updating...", story);
                    story.Estimate = row.NewEstimate;
                    story.Save("Updated from excel sheet on " + DateTimeOffset.Now);
                    Console.WriteLine("Story updated.");
                }
            }
        }
        public void GetStories()
        {
            var iteration = SandboxProject.CreateIteration();

            iteration.Name = "Test Iteration";
            iteration.Save();

            CreateStory("Story 1", SandboxProject, iteration);
            CreateStory("Story 2", SandboxProject, iteration);

            Assert.AreEqual(2, iteration.GetPrimaryWorkitems(new StoryFilter()).Count);

            var filter = new StoryFilter();

            filter.Iteration.Add(SandboxProject.CreateIteration());

            Assert.AreEqual(2, iteration.GetPrimaryWorkitems(filter).Count, "Iteration.GetStories didn't override the Iteration filter.");
        }
Example #7
0
        public void ShouldBeAbleToAddAStoryFilterThatFiltersStories()
        {
            var model     = new ProjectModel();
            var view      = new NullView();
            var presenter = new BacklogPresenter(view, model);

            presenter.AddProject("Fairy Tales");
            presenter.AddStoryToActiveProject("Not Started Story");

            presenter.Present();
            Assert.AreEqual(1, view.ActiveProject.Stories.Length);

            var filter = new StoryFilter();

            filter.AddStoryFilter <StoryNotStarted>();
            model.AddStoryFilter(filter);
            presenter.Present();
            Assert.AreEqual(0, view.ActiveProject.Stories.Length);
        }
        public void DetailEstimate()
        {
            var story = EntityFactory.CreateStory("Story 1", SandboxProject);
            var task  = EntityFactory.CreateTask("Task 1", story);

            task.DetailEstimate = 18;
            task.Save();

            var filter = new StoryFilter();

            filter.DetailEstimate.AddTerm(FilterTerm.Operator.Equal, 1.0);
            var stories = Instance.Get.Stories(filter);

            Assert.AreEqual(0, stories.Count);

            filter = new StoryFilter();
            filter.DetailEstimate.AddTerm(FilterTerm.Operator.NotExists);
            stories = Instance.Get.Stories(filter);
            CollectionAssert.Contains(stories, story);
        }
Example #9
0
        public void TestThemes()
        {
            var sFilter = new StoryFilter();
            var theme   = SandboxProject.CreateTheme("Test Theme");

            sFilter.Theme.Add(theme);

            var stories = Instance.Get.Stories(sFilter);

            Assert.AreEqual(0, stories.Count);

            story1.Theme = theme;
            story1.Save();
            ResetInstance();

            var storiesWithTestTheme = Instance.Get.Stories(sFilter);

            Assert.AreEqual(1, storiesWithTestTheme.Count);
            Assert.IsTrue(storiesWithTestTheme.Contains(story1));
        }
Example #10
0
        protected void storyTable_FilterStories(object sender, EventArgs args)
        {
            var filters = sender as CheckBoxList;
            var filter  = new StoryFilter();

            if (filters != null)
            {
                for (var i = 0; i < 4; ++i)
                {
                    if (filters.Items[i].Selected)
                    {
                        filter.AddStoryFilter(StoryStatuses[i].GetType());
                    }
                    else
                    {
                        filter.RemoveStoryFilter(StoryStatuses[i].GetType());
                    }
                }
            }
            BacklogModel.AddStoryFilter(filter);
            Presenter.Present();
        }
        public void RequestedBy()
        {
            var story = SandboxProject.CreateStory("RequestdBy Filter");

            story.RequestedBy = "ME";
            story.Save();

            ResetInstance();
            story = Instance.Get.StoryByID(story.ID);

            var filter = new StoryFilter();

            filter.RequestedBy.Add("ME");

            var results = SandboxProject.GetStories(filter);

            Assert.IsTrue(FindRelated(story, results), "Expected to find story that matched filter.");

            foreach (var result in results)
            {
                Assert.AreEqual("ME", result.RequestedBy);
            }
        }
Example #12
0
        public void CanDelete()
        {
            const string name = "CanDeleteTest";

            SandboxProject.CreateStory(name);
            var filter = new StoryFilter();

            filter.Name.Add(name);
            var workitems = SandboxProject.GetPrimaryWorkitems(filter);

            Assert.AreEqual(1, workitems.Count);
            var story = First(workitems);

            Assert.IsTrue(story.CanDelete);

            story.Close();
            Assert.IsFalse(story.CanDelete);

            story.Reactivate();
            Assert.IsTrue(story.CanDelete);

            story.Delete();
        }
Example #13
0
        public void ShouldNotFilterOnSave()
        {
            var model = new ProjectModel();

            model.AddProject("Fairy Tales");
            model.AddStory("FT", "Not Started");
            var filter = new StoryFilter();

            filter.AddStoryFilter <StoryNotStarted>();
            model.AddStoryFilter(filter);

            model.PersistanceDirectory = ProjectDir;
            model.SaveActiveProject();

            model = new ProjectModel {
                PersistanceDirectory = ProjectDir
            };
            model.Load();

            var active = model.GetActiveProject();

            Assert.AreEqual(1, active.Stories.Length);
        }
Example #14
0
        public static List <BlogStory> GetPerPage(this List <BlogStory> stories,
                                                  Int32 pageNumber,
                                                  Int32 perPage,
                                                  StorySort sortType,
                                                  StoryFilter filter)
        {
            IEnumerable <BlogStory> query = stories;

            if (filter == StoryFilter.Published)
            {
                query = query.Where(x => x.PublishedDate.HasValue);
            }
            else if (filter == StoryFilter.UnPublished)
            {
                query = query.Where(x => !x.PublishedDate.HasValue);
            }

            query = sortType == StorySort.CreateDate
                        ? query.OrderByDescending(x => x.CreateDate)
                        : query.OrderByDescending(x => x.PublishedDate);

            return(query.Skip((pageNumber - 1) * perPage)
                   .Take(perPage).ToList());
        }
Example #15
0
 /// <summary>
 /// Get stories filtered by the criteria specified in the passed in filter.
 /// </summary>
 /// <param name="filter">Limit the items returned. If null, then all items returned.</param>
 /// <returns>ICollection of items as specified in the filter.</returns>
 public ICollection <Story> Stories(StoryFilter filter)
 {
     return(Get <Story>(filter ?? new StoryFilter()));
 }
        public StoryListViewModel GetMyCreatedStories()
        {
            var filter = new StoryFilter
            {
                AuthorID = CurrentUser.Id,
                PublishStatus = PublishStatus.All
            };
            var stories = _storyService.GetStoriesQuery(filter);
            foreach (var storey in stories)
            {
                if (storey.CoverArt == null)
                {
                    var coverArt = new CoverArt
                    {
                        Cover = ResizeImage.ResizeImageFile("contennt\img\64x64.gif", 32, 32)
                    };
                    storey.CoverArt = coverArt;

                }

            }
            return new StoryListViewModel(stories, CurrentUser);
        }
 /// <summary>
 /// Get stories in this Project filtered as specified in the passed in filter.
 /// </summary>
 /// <param name="filter">Criteria to filter on. Project will be set automatically. If null, all stories in the project are returned.</param>
 /// <param name="includeSubprojects">Specifies whether to include items from sub project or not. This only adds open subprojects.</param>
 /// <returns>An ICollection of Story</returns>
 public ICollection <Story> GetStories(StoryFilter filter, bool includeSubprojects)
 {
     return(Instance.Get.Stories(WithThisProjectIncludedIn(filter, includeSubprojects)));
 }
 /// <summary>
 /// Get stories in this Project filtered as specified in the passed in filter. Does not include subprojects.
 /// </summary>
 /// <param name="filter">Criteria to filter on. Project will be set automatically. If null, all stories in the project are returned.</param>
 /// <returns>An ICollection of Story</returns>
 public ICollection <Story> GetStories(StoryFilter filter)
 {
     return(GetStories(filter, false));
 }
        public StoryListViewModel GetMyOwnedStories()
        {
            var filter = new StoryFilter
                             {
                                 PurchaserID = CurrentUser.Id
                             };
            var stories = _storyService.GetStoriesQuery(filter);
            foreach (var storey in stories)
            {
                if (storey.CoverArt == null)
                {
                    var coverArt = new CoverArt
                    {
                        Cover = ResizeImage.ResizeImageFile("\Content\img\64x64.gif", 32, 32)
                    };
                    storey.CoverArt = coverArt;

                }

            }
            return new StoryListViewModel(stories, CurrentUser);
        }
 public PagedStoryListViewModel GetStoriesByGenre(BaseInputModel inputModel)
 {
     if (!inputModel.Page.HasValue)
         inputModel.Page = 1;
     var filter = new StoryFilter();
     if (inputModel.Id.HasValue)
     {
          filter = new StoryFilter
                          {
                              Genre = (Genre) inputModel.Id
                          };
     }
     var story = _storyService.GetStories(filter,(int)inputModel.Page,25);
     return new PagedStoryListViewModel(story, CurrentUser);
 }