public void RESTScenarioGetByWrongId()
        {
            var controller = new ScenarioController(scenarioRepository, false);

            var data = controller.Get(6).Result;

            Assert.IsTrue(data is NotFoundResult);
        }
        public void RESTScenarioGetById()
        {
            var controller = new ScenarioController(scenarioRepository, false);

            var result   = controller.Get(2).Result;
            var okResult = result as OkObjectResult;
            var data     = okResult.Value as scenarios;

            Assert.IsNotNull(data);
            Assert.AreEqual("Peste", data.Virus);
            Assert.AreEqual(12, data.TownId);
            Assert.AreEqual("600/01/02", data.BeginDate);
            Assert.AreEqual("Description de test peste", data.Description);
        }
        public void RESTScenarioGetAllValues()
        {
            var controller = new ScenarioController(scenarioRepository, false);

            var result   = controller.Get().Result;
            var okResult = result as OkObjectResult;
            var data     = okResult.Value as IEnumerable <scenarios>;

            Assert.IsNotNull(data);

            var test = data.ToList();

            Assert.AreEqual(3, test.Count);
            Assert.AreEqual("Coronavirus", test[0].Virus);
            Assert.AreEqual("Peste", test[1].Virus);
            Assert.AreEqual("Grippe espagnole", test[2].Virus);
        }
Example #4
0
        public void GetReturnsNewPartitionScenarioSummary()
        {
            // Arrange
            var scenarioEntity = new Scenario
            {
                ScenarioId             = 100,
                ScenarioName           = "ScenarioName",
                OrganisationId         = 111,
                Week                   = 100,
                ScheduleMask           = 255,
                ScheduleWeekMin        = 100,
                ScheduleWeekMax        = 107,
                ScheduleStageMin       = 1,
                ScheduleStageMax       = 4,
                StageMax               = 4,
                StageOffsetMax         = 8,
                PriceFloor             = null,
                MarkdownCountStartWeek = 800,
                DefaultMarkdownType    = 255,
                AllowPromoAsMarkdown   = false,
                MinimumPromoPercentage = 0M
            };

            var summaryEntity = new ScenarioSummary
            {
                Scenario                      = scenarioEntity,
                ScenarioId                    = scenarioEntity.ScenarioId,
                ScenarioName                  = scenarioEntity.ScenarioName,
                Duration                      = 0,
                ErrorCount                    = 0,
                RecommendationCount           = 0,
                ProductCount                  = 2,
                LastRunDate                   = null,
                SuccessCount                  = 0,
                ProductTotal                  = 0,
                AttemptCountAvg               = 0,
                AttemptCountMax               = 0,
                AttemptCountMin               = 0,
                LastFunctionInstanceId        = null,
                FunctionInstanceCount         = 1,
                FunctionInstanceCountTotal    = 1,
                LastGroupTypeId               = (int)Common.Enums.FunctionGroupType.Partition,
                LastGroupTypeName             = Common.Enums.FunctionGroupType.Partition.ToString(),
                ScenarioSummaryStatusTypeName = ScenarioSummaryStatusType.New.ToString(),
                ScenarioSummaryStatusTypeId   = ScenarioSummaryStatusType.New
            };

            var expected = new VmScenarioSummary
            {
                CustomerId   = scenarioEntity.OrganisationId,
                ScenarioId   = scenarioEntity.ScenarioId,
                ScenarioName = scenarioEntity.ScenarioName,

                Status                         = ScenarioSummaryStatusType.New,
                Duration                       = summaryEntity.Duration,
                PartitionErrorCount            = summaryEntity.ErrorCount,
                PartitionSuccessCount          = summaryEntity.SuccessCount,
                PartitionCount                 = summaryEntity.FunctionInstanceCount,
                PartitionTotal                 = summaryEntity.FunctionInstanceCountTotal,
                LastRunDate                    = summaryEntity.LastRunDate,
                RecommendationCount            = summaryEntity.RecommendationCount,
                TotalNumberRecommendedProducts = summaryEntity.ProductCount,
                PriceFloor                     = scenarioEntity.PriceFloor,

                Week                   = scenarioEntity.Week,
                ScheduleMask           = scenarioEntity.ScheduleMask,
                StageMax               = scenarioEntity.StageMax,
                StageOffsetMax         = scenarioEntity.StageOffsetMax,
                ScheduleWeekMin        = scenarioEntity.ScheduleWeekMin,
                ScheduleWeekMax        = scenarioEntity.ScheduleWeekMax,
                ScheduleStageMin       = scenarioEntity.ScheduleStageMin,
                ScheduleStageMax       = scenarioEntity.ScheduleStageMax,
                MarkdownCountStartWeek = scenarioEntity.MarkdownCountStartWeek
            };

            var scenarioRepository                = new Mock <IScenarioRepository>();
            var scenarioSummaryRepository         = new Mock <IScenarioSummaryRepository>();
            var scenarioHierarchyFilterRepository = new Mock <IScenarioHierarchyFilterRepository>();
            var scenarioProductFilterRepository   = new Mock <IScenarioProductFilterRepository>();

            var scenarioWebService = new ScenarioWebService(scenarioRepository.Object, scenarioSummaryRepository.Object, scenarioProductFilterRepository.Object, scenarioHierarchyFilterRepository.Object);

            scenarioSummaryRepository.Setup(x => x.GetSingle(scenarioEntity.OrganisationId, scenarioEntity.ScenarioId)).ReturnsAsync(summaryEntity);

            var scenarioController = new ScenarioController(_hierarchyServiceMock.Object, scenarioWebService, _recommendationServiceMock.Object, _fileUploadServiceMock.Object, _organisationDataProvider.Object);

            // Act
            var actual = scenarioController.Get(scenarioEntity.ScenarioId, scenarioEntity.OrganisationId).Result;

            // Assert
            actual.ShouldBeEquivalentTo(expected);
        }