public static (CustomerEntity, ProductEntity) BuildCustomerProduct()
        {
            var customer = TestDataFactory.BuildCustomer();
            var product  = TestDataFactory.BuildProduct(customer);

            return(customer, product);
        }
        public static FeatureEntity BuildFeature(string name, string createdBy, DateTime on)
        {
            var(_, product) = TestDataFactory.BuildCustomerProduct();
            var entity = FeatureEntity.Factory.Create(name, on, createdBy, product);

            return(entity);
        }
        public static JourneyEntity BuildJourney(string name, decimal slo, string createdBy, DateTime on)
        {
            var(_, product) = TestDataFactory.BuildCustomerProduct();
            var entity = JourneyEntity.Factory.Create(name, on, createdBy, product);

            return(entity);
        }
        public static (CustomerEntity, ProductEntity, JourneyEntity) BuildCustomerProductJourney()
        {
            var customer = TestDataFactory.BuildCustomer();
            var product  = TestDataFactory.BuildProduct(customer);
            var journey  = TestDataFactory.BuildJourney("test", 99, "test", DateTime.Now);

            product.AddJourney(journey);

            return(customer, product, journey);
        }
        public static (CustomerEntity, ProductEntity, JourneyEntity, FeatureEntity) BuildCustomerProductJourneyFeature()
        {
            var customer = TestDataFactory.BuildCustomer();
            var product  = TestDataFactory.BuildProduct(customer);
            var journey  = TestDataFactory.BuildJourney("test", 99, "test", DateTime.Now);
            var feature  = TestDataFactory.BuildFeature("test", "test", DateTime.Now);
            var map      = JourneyMapEntity.Factory.Create(journey, feature, DateTime.Now, "test");

            product.AddJourney(journey);
            product.AddFeature(feature);
            journey.FeatureMap.Add(map);

            return(customer, product, journey, feature);
        }
        public static ICollection <SourceEntity> BuildSources(ProductEntity product)
        {
            var results  = new List <SourceEntity>();
            var userName = "******";
            var tags     = "load balancer";
            var source   = TestDataFactory.BuildSource(product, "GET:/owlvey/api/customers", DateTime.Now, userName);

            source.Tags = tags;
            results.Add(source);
            source      = TestDataFactory.BuildSource(product, "POST:/owlvey/api/customers", DateTime.Now, userName);
            source.Tags = tags;
            results.Add(source);
            source      = TestDataFactory.BuildSource(product, "PUT:/owlvey/api/customers", DateTime.Now, userName);
            source.Tags = tags;
            results.Add(source);
            return(results);
        }
            public static IndicatorEntity GenerateSourceItems(ProductEntity product, FeatureEntity feature)
            {
                var source = TestDataFactory.BuildSource(product);

                var indicator = IndicatorEntity.Factory.Create(feature, source, DateTime.Now, Guid.NewGuid().ToString());

                var sourceItem = SourceEntity.Factory.CreateItem(source, OwlveyCalendar.StartJanuary2019,
                                                                 900, 1200, DateTime.Now, "test", SourceGroupEnum.Availability);

                var sourceItemA = SourceEntity.Factory.CreateItem(source,
                                                                  OwlveyCalendar.EndJanuary2019, 900, 1200, DateTime.Now, "test", SourceGroupEnum.Availability);

                source.SourceItems.Add(sourceItem);
                source.SourceItems.Add(sourceItemA);

                indicator.Source = source;

                return(indicator);
            }
        public static ICollection <SourceEntity> BuildSourcesWithItems(ProductEntity product)
        {
            var results  = new List <SourceEntity>();
            var userName = "******";
            var tags     = "load balancer";
            var source   = TestDataFactory.BuildSource(product, "GET:/owlvey/api/customers", DateTime.Now, userName);

            source.Tags = tags;
            results.Add(source);
            source      = TestDataFactory.BuildSource(product, "POST:/owlvey/api/customers", DateTime.Now, userName);
            source.Tags = tags;
            results.Add(source);
            source      = TestDataFactory.BuildSource(product, "PUT:/owlvey/api/customers", DateTime.Now, userName);
            source.Tags = tags;
            results.Add(source);
            var start = new DateTime(2019, 01, 01);

            foreach (var item in results)
            {
                SourceEntity.Factory.CreateItem(item, start, 900, 1000, DateTime.Now, "test", SourceGroupEnum.Availability);
            }
            return(results);
        }