Пример #1
0
        public DataItem CreateDataItem(Interaction parentInteraction)
        {
            int index = 0;

            if (parentInteraction.DataItems.Count > 0)
            {
                var lastDataItem = parentInteraction.DataItems.First(d => d.IsLast);

                lastDataItem.IsLast = false;

                itemSerializer.Save(lastDataItem, lastDataItem.Id.ToString());

                index = lastDataItem.Index + 1;
            }

            var dataItem = new DataItem() { Index = index, IsLast = true, ParentId = parentInteraction.Id };

            parentInteraction.DataItemIds.Add(dataItem.Id);

            parentInteraction.DataItems.Add(dataItem);

            parentInteraction.DataItems = parentInteraction.DataItems.OrderBy(d => d.Index).ToList();

            SaveInteraction(parentInteraction);

            return dataItem;
        }
Пример #2
0
        public void Setup()
        {
            scenario = new Scenario()
            {
                Name = "foo",
                Description = "bar",
                TestDataRows = new List<TestData>(),
                Interactions = new List<Interaction>()
            };

            var interaction1 = new Interaction()
            {
                Name = "Step 1",
                DataItems = new List<DataItem>()
            };

            var interaction2 = new Interaction()
            {
                Name = "Step 2",
                DataItems = new List<DataItem>()
            };

            var dataItem = new DataItem()
            {
                Name = "param1"
            };

            var dataItem2 = new DataItem()
            {
                Name = "param2"
            };

            interaction1.DataItems.Add(dataItem);
            interaction1.DataItems.Add(dataItem2);

            interaction2.DataItems.Add(dataItem);
            interaction2.DataItems.Add(dataItem2);

            var testData1 = new TestData();
            testData1.Add("param1", "foo");
            testData1.Add("param2", "bar");

            var testData2 = new TestData();
            testData2.Add("param1", "foo");
            testData2.Add("param2", "bar");

            scenario.Interactions.Add(interaction1);
            scenario.Interactions.Add(interaction2);

            scenario.TestDataRows.Add(testData1);
            scenario.TestDataRows.Add(testData2);

            scenarios = new List<Item>();
            scenarios.Add(scenario);

            built = builder.Build(scenarios);
        }
Пример #3
0
        public InteractionViewModel(Interaction interaction)
        {
            Interaction = interaction;

            Interaction.DataItems = Interaction.DataItems.OrderBy(d => d.Index).ToList();

            foreach (DataItem d in Interaction.DataItems)
                dataItemViewModels.Add(new DataItemViewModel(d));

            repo = App.kernel.Get<IRepository>();
        }
Пример #4
0
        public void Given_Repository(bool cleanFolders)
        {
            if(cleanFolders)
                DeleteFiles();

            serializer = new ItemJsonSerializer(dataPath);

            repo = new ItemRepository(serializer);

            repo.DataPath = dataPath;

            projectItem = repo.Create<Project>() as Project;
            storyItem = repo.Create<Story>() as Story;
            scenarioItem = repo.Create<Scenario>() as Scenario;
            interactionItem = new Interaction();
            dataItem = new DataItem();
        }
Пример #5
0
        public Keyword(Interaction interaction, IRemoteClient proxy, BehaviorConfiguration config)
        {
            Name = interaction.Name;
            Config = config;
            Proxy = proxy;
            Parameters = new Dictionary<string, string>();

            interaction.Children.ForEach(d => Parameters.Add((d as DataItem).Name, (d as DataItem).Data));

            if (!int.TryParse(Config.GuiDelay, out guiDelay))
                guiDelay = 0;

            if (guiDelay < 0)
                guiDelay = 0;

            KeywordExists = ValidateKeywordName(Name);

            if(KeywordExists)
                ParametersAreCorrect = ValidateParameters(Name, Parameters);
        }
Пример #6
0
        public void MoveInteractionUp(Interaction interaction)
        {
            if (interaction.Index == 0)
                return;

            var newIndex = interaction.Index - 1;

            foreach (Interaction i in Interactions)
                if (i.Index == newIndex)
                {
                    interaction.Index = newIndex;

                    i.Index++;

                    break;
                }

            ReIndex();
        }
Пример #7
0
        public void MoveInteractionDown(Interaction interaction)
        {
            if (interaction.IsLast)
                return;

            var newIndex = interaction.Index + 1;

            foreach (Interaction i in Interactions)
                if (i.Index == newIndex)
                {
                    interaction.Index = newIndex;

                    i.Index--;

                    break;
                }

            ReIndex();
        }
Пример #8
0
        public void DeleteInteraction(Interaction interaction)
        {
            if (Scenario.Interactions.Count > 1)
            {
                InteractionViewModels.Remove(InteractionViewModels.FirstOrDefault(d => d.Interaction.Equals(interaction)));

                Interactions.Remove(interaction);

                OnPropertyChanged("Interactions");
            }
        }
Пример #9
0
        public void CreateInteraction()
        {
            var index = GetLastIndex();

            var interaction = new Interaction() { ParentId=Scenario.Id, Index=index };

            var dataItem = new DataItem() { ParentId = interaction.Id };

            interaction.DataItems.Add(dataItem);

            Interactions.Add(interaction);

            CreateViewModels();

            Update();
        }
Пример #10
0
        public Interaction CreateInteraction(Scenario parentScenario)
        {
            int index = 0;

            if (parentScenario.Interactions.Count > 0)
            {
                var lastInteraction = parentScenario.Interactions.First(i => i.IsLast);

                lastInteraction.IsLast = false;

                itemSerializer.Save(lastInteraction, lastInteraction.Id.ToString());

                index = lastInteraction.Index + 1;
            }

            var interaction = new Interaction() { Index = index, IsLast = true, ParentId = parentScenario.Id };

            var dataItem = CreateDataItem(interaction);

            parentScenario.InteractionIds.Add(interaction.Id);

            parentScenario.Interactions.Add(interaction);

            SaveScenario(parentScenario);

            return interaction;
        }
Пример #11
0
        public void SaveInteraction(Interaction interaction)
        {
            itemSerializer.Save(interaction, interaction.Id.ToString());

            interaction.DataItems.ForEach(d => itemSerializer.Save(d, d.Id.ToString()));
        }
Пример #12
0
        public Scenario DeleteInteraction(Scenario scenario, Interaction interaction)
        {
            scenario.InteractionIds.Remove(interaction.Id);

            scenario.Interactions.Remove(interaction);

            scenario.Interactions = ReIndexInteractions(scenario.Interactions);

            interaction.DataItems.ForEach(d => DeleteDataItem(interaction, d));

            DeleteFile(interaction.Id, interaction.Type);

            return scenario;
        }
Пример #13
0
        public Interaction DeleteDataItem(Interaction interaction, DataItem dataItem)
        {
            interaction.DataItemIds.Remove(dataItem.Id);

            interaction.DataItems.Remove(dataItem);

            interaction.DataItems = ReIndexDataItems(interaction.DataItems);

            DeleteFile(dataItem.Id, dataItem.Type);

            return interaction;
        }
Пример #14
0
        public void CreateScenario()
        {
            var scenario = new Scenario() { ParentId = Story.Id };

            var interaction = new Interaction() { ParentId = scenario.Id };

            var dataItem = new DataItem() { ParentId = interaction.Id };

            interaction.DataItems.Add(dataItem);

            scenario.Interactions.Add(interaction);

            scenario.Name = "Scenario Name";

            Scenarios.Add(scenario);

            Story.ChildrenIds.Add(scenario.Id);

            var scenarioViewModel = new ScenarioViewModel(scenario, this) { IsSelected = true, IsExpanded = true };

            base.Children.Add(scenarioViewModel);

            Update();
        }