public void Customer()
        {
            var customer = Instance.Members.FirstOrDefault();

            var story = SandboxProject.CreateStory("Customer filter");

            story.Customer = customer;
            story.Save();

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

            var filter = GetFilter();

            filter.Customer.Add(customer);

            var results = SandboxProject.GetStories(filter);

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

            foreach (var result in results)
            {
                Assert.AreEqual(customer, result.Customer);
            }
        }
        public void Build()
        {
            var story = SandboxProject.CreateStory("Build Filter");

            story.Build = "10.2.24.1";
            story.Save();

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

            var filter = GetFilter();

            filter.Build.Add("10.2.24.1");

            var results = SandboxProject.GetStories(filter);

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

            foreach (var result in results)
            {
                Assert.AreEqual("10.2.24.1", result.Build);
            }
        }
        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);
            }
        }
        public void IdentifiedIn()
        {
            var retro = SandboxProject.CreateRetrospective("Has a story");
            var story = retro.CreateStory("Retrospective filter");

            story.Save();

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

            var filter = GetFilter();

            filter.IdentifiedIn.Add(retro);

            var results = SandboxProject.GetStories(filter);

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

            foreach (var result in results)
            {
                Assert.AreEqual(retro, result.IdentifiedIn);
            }
        }
        public void DependantStories()
        {
            var benefactor = SandboxProject.CreateStory("Benefactor");
            var dependant  = SandboxProject.CreateStory("Dependant");

            dependant.DependsOnStories.Add(benefactor);
            dependant.Save();

            ResetInstance();
            dependant  = Instance.Get.StoryByID(dependant.ID);
            benefactor = Instance.Get.StoryByID(benefactor.ID);

            var filter = GetFilter();

            filter.DependentStories.Add(dependant);
            var results = SandboxProject.GetStories(filter);

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

            foreach (var result in results)
            {
                Assert.IsTrue(FindRelated(dependant, result.DependentStories), "Expected story to includ value used in filter in dependant stories");
            }
        }
        public void Type()
        {
            var story     = SandboxProject.CreateStory("Type Filter");
            var typeValue = story.Type.AllValues[0];

            story.Type.CurrentValue = typeValue;
            story.Save();

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

            var filter = GetFilter();

            filter.Type.Add(typeValue);

            var results = SandboxProject.GetStories(filter);

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

            foreach (var result in results)
            {
                Assert.AreEqual(typeValue, result.Type.CurrentValue);
            }
        }
        public void Epic()
        {
            var epic  = Instance.Create.Epic("Filter by me", SandboxProject);
            var story = epic.GenerateChildStory();

            story.Name = "Find Me";
            story.Save();

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

            var filter = GetFilter();

            filter.Epic.Add(epic);
            var results = SandboxProject.GetStories(filter);

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

            foreach (var result in results)
            {
                Assert.AreEqual(epic, result.Epic);
            }
        }