public void ThenTheOnlineCaseIsNotImportedAgain()
        {
            var primaryKey = _scenarioContext.Get <string>("primaryKey");
            var modeType   = CaseHelper.GetInstance().GetMode(primaryKey);

            Assert.AreEqual(ModeType.Web, modeType);
        }
        public void GivenTheSameCaseExistsInBlaiseWithTheOutcomeCode(int outcomeCode)
        {
            var primaryKey = _scenarioContext.Get <string>("primaryKey");
            var caseModel  = new CaseModel(primaryKey, outcomeCode.ToString(), ModeType.Tel, DateTime.Now.AddHours(-2));

            CaseHelper.GetInstance().CreateCaseInBlaise(caseModel);
        }
        public static async Task CleanUpScenario()
        {
            CaseHelper.GetInstance().DeleteCases();
            await OnlineFileHelper.GetInstance().CleanUpOnlineFiles();

            FileSystemHelper.GetInstance().CleanUpTempFiles(_tempFilePath);
        }
        public void ThenTheExistingBlaiseCaseIsOverwrittenWithTheOnlineCase()
        {
            var primaryKey = _scenarioContext.Get <string>("primaryKey");
            var modeType   = CaseHelper.GetInstance().GetMode(primaryKey);

            Assert.AreEqual(ModeType.Web, modeType);
        }
        public void ThenTheExistingBlaiseCaseIsKept()
        {
            var primaryKey = _scenarioContext.Get <string>("primaryKey");
            var modeType   = CaseHelper.GetInstance().GetMode(primaryKey);

            Assert.AreEqual(ModeType.Tel, modeType);
        }
Example #6
0
        public void ThenBlaiseWillContainTheFollowingCases(IEnumerable <CaseModel> cases)
        {
            if (StubConfigurationHelper.UseStubs)
            {
                return;
            }

            var numberOfCasesInDatabase = CaseHelper.GetInstance().NumberOfCasesInInstrument();
            var casesExpected           = cases.ToList();

            if (casesExpected.Count != numberOfCasesInDatabase)
            {
                Assert.Fail($"Expected '{casesExpected.Count}' cases in the database, but {numberOfCasesInDatabase} cases were found");
            }

            var casesInDatabase = CaseHelper.GetInstance().GetCasesInDatabase();

            foreach (var caseModel in casesInDatabase)
            {
                var caseRecordExpected = casesExpected.FirstOrDefault(c => c.PrimaryKey == caseModel.PrimaryKey);

                if (caseRecordExpected == null)
                {
                    Assert.Fail($"Case {caseModel.PrimaryKey} was in the database but not found in expected cases");
                }

                Assert.AreEqual(caseRecordExpected.Outcome, caseModel.Outcome, $"expected an outcome of '{caseRecordExpected.Outcome}' for case '{caseModel.PrimaryKey}'," +
                                $"but was '{caseModel.Outcome}'");

                Assert.AreEqual(caseRecordExpected.Mode, caseModel.Mode, $"expected an version of '{caseRecordExpected.Mode}' for case '{caseModel.PrimaryKey}'," +
                                $"but was '{caseModel.Mode}'");
            }
        }
Example #7
0
        public void GivenTheBlaiseDatabaseIsEmpty()
        {
            if (StubConfigurationHelper.UseStubs)
            {
                return;
            }

            CaseHelper.GetInstance().DeleteCases();
        }
Example #8
0
        public void GivenBlaiseContainsCases(int numberOfCases)
        {
            if (StubConfigurationHelper.UseStubs)
            {
                return;
            }

            CaseHelper.GetInstance().CreateCasesInBlaise(numberOfCases);
        }
Example #9
0
        public void GivenBlaiseContainsTheFollowingCases(IEnumerable <CaseModel> cases)
        {
            if (StubConfigurationHelper.UseStubs)
            {
                return;
            }

            CaseHelper.GetInstance().CreateCasesInBlaise(cases);
        }
Example #10
0
        public async Task CreateCaseInOnlineFileAsync(CaseModel caseModel, string path)
        {
            var instrumentPackage  = BlaiseConfigurationHelper.InstrumentPackagePath;
            var extractedFilePath  = ExtractPackageFiles(path, instrumentPackage);
            var instrumentDatabase = Path.Combine(extractedFilePath, BlaiseConfigurationHelper.InstrumentName + ".bdix");

            CaseHelper.GetInstance().CreateCaseInFile(instrumentDatabase, caseModel);

            await UploadFilesToBucket(extractedFilePath);
        }
Example #11
0
        public void GivenTheCaseIsCurrentlyOpenInCati()
        {
            if (StubConfigurationHelper.UseStubs)
            {
                return;
            }

            var primaryKey = _scenarioContext.Get <string>("primaryKey");

            CaseHelper.GetInstance().MarkCaseAsOpenInCati(primaryKey);
        }
        public async Task GivenThereIsAOnlineFileThatContainsACaseThatHasPreviouslyBeenImported()
        {
            var caseModel = CaseHelper.GetInstance().CreateCaseModel("110", ModeType.Web, DateTime.Now);

            CaseHelper.GetInstance().CreateCaseInBlaise(caseModel);

            caseModel.Mode = ModeType.Ftf; //used to differentiate the case to ensure it has not been imported again
            await OnlineFileHelper.GetInstance().CreateCaseInOnlineFileAsync(caseModel, _tempFilePath);

            _scenarioContext.Set(caseModel.PrimaryKey, "primaryKey");
        }
Example #13
0
        public void ThenCasesWillBeImportedIntoBlaise(int numberOfCases)
        {
            if (StubConfigurationHelper.UseStubs)
            {
                return;
            }

            var numberOfCasesInBlaise = CaseHelper.GetInstance().NumberOfCasesInInstrument();

            Assert.AreEqual(numberOfCases, numberOfCasesInBlaise);
        }
        public async Task CreateCasesInOnlineFileAsync(IEnumerable <CaseModel> caseModels, string path)
        {
            var instrumentPackage = await DownloadPackageFromBucket(path);

            var extractedFilePath  = ExtractPackageFiles(path, instrumentPackage);
            var instrumentDatabase = Path.Combine(extractedFilePath, BlaiseConfigurationHelper.InstrumentName + ".bdix");

            CaseHelper.GetInstance().CreateCasesInFile(instrumentDatabase, caseModels.ToList());

            await UploadFilesToBucket(extractedFilePath);
        }
Example #15
0
        public void ThenTheExistingBlaiseCaseIsKept()
        {
            if (StubConfigurationHelper.UseStubs)
            {
                return;
            }

            var primaryKey = _scenarioContext.Get <string>("primaryKey");
            var modeType   = CaseHelper.GetInstance().GetMode(primaryKey);

            Assert.AreEqual(ModeType.Tel, modeType);
        }
Example #16
0
        public void ThenTheOnlineCaseIsNotImportedAgain()
        {
            if (StubConfigurationHelper.UseStubs)
            {
                return;
            }

            var primaryKey = _scenarioContext.Get <string>("primaryKey");
            var modeType   = CaseHelper.GetInstance().GetMode(primaryKey);

            Assert.AreEqual(ModeType.Web, modeType);
        }
Example #17
0
        public static async Task CleanUpScenario()
        {
            if (StubConfigurationHelper.UseStubs)
            {
                return;
            }

            CaseHelper.GetInstance().DeleteCases();
            await OnlineFileHelper.GetInstance().CleanUpOnlineFiles();

            FileSystemHelper.GetInstance().CleanUpTempFiles(_tempFilePath);
        }
Example #18
0
        public void ThenTheQuestionnairePackageContainsTheCapturedCorrespondentData()
        {
            var deliveredFile     = _scenarioContext.Get <string>(ApiResponse);
            var extractedFilePath = Path.Combine(
                _tempFilePath,
                BlaiseConfigurationHelper.InstrumentName);

            deliveredFile.ExtractFiles(extractedFilePath);
            var dataInterfaceFile = $@"{extractedFilePath}\{BlaiseConfigurationHelper.InstrumentName}.bdix";
            var numberOfCases     = CaseHelper.GetInstance().NumberOfCasesInInstrument(dataInterfaceFile);

            Assert.AreEqual(ExpectedNumberOfCases, numberOfCases);
        }
Example #19
0
        public async Task <string> CreateCaseInOnlineFileAsync(int outcomeCode, string path)
        {
            var instrumentPackage  = BlaiseConfigurationHelper.InstrumentPackagePath;
            var extractedFilePath  = ExtractPackageFiles(path, instrumentPackage);
            var instrumentDatabase = Path.Combine(extractedFilePath, BlaiseConfigurationHelper.InstrumentName + ".bdix");

            var caseModel = CaseHelper.GetInstance().CreateCaseModel(outcomeCode.ToString(), ModeType.Web, DateTime.Now.AddMinutes(-40));

            CaseHelper.GetInstance().CreateCaseInFile(instrumentDatabase, caseModel);

            await UploadFilesToBucket(extractedFilePath);

            return(caseModel.PrimaryKey);
        }
Example #20
0
        internal static string DefaultNameRouteStrategy(Type controller, MethodInfo action, string route,
            HttpMethod method)
        {
            var parts = route.Split('/')
                .Select(part =>
                {
                    if (part.StartsWith("{"))
                    {
                        return $"By{CaseHelper.ToCase(part.Substring(1, part.Length - 2), NameConvention.PascalCase)}";
                    }

                    return CaseHelper.ToCase(part, NameConvention.PascalCase);
                });
            return method.GetName() + string.Join("", parts);
        }
Example #21
0
        public virtual string RouteName(Type controller, MethodInfo action, string route, HttpMethod method)
        {
            var parts = route.Split('/')
                        .Select(part =>
            {
                if (part.StartsWith("{"))
                {
                    return($"By{CaseHelper.ToCase(part.Substring(1, part.Length - 2), NameConvention.PascalCase)}");
                }

                return(CaseHelper.ToCase(part, NameConvention.PascalCase));
            });

            return(method.GetName() + string.Join("", parts));
        }
Example #22
0
 public void CleanUpScenario()
 {
     CaseHelper.GetInstance().DeleteCases();
     InstrumentHelper.GetInstance().UninstallSurvey();
     FileSystemHelper.GetInstance().CleanUpTempFiles(_tempFilePath);
 }
Example #23
0
 public void GivenWeHaveCapturedCorrespondentDataForTheQuestionnaire()
 {
     CaseHelper.GetInstance().CreateCasesInBlaise(ExpectedNumberOfCases);
 }
 public static void CleanUpScenario()
 {
     CaseHelper.GetInstance().DeleteCases();
     InstrumentHelper.GetInstance().UninstallSurvey();
 }
Example #25
0
        public void ThenTheQuestionnaireDoesNotContainAnyCorrespondentData()
        {
            var numberOfCases = CaseHelper.GetInstance().NumberOfCasesInInstrument();

            Assert.AreEqual(0, numberOfCases);
        }
        public void GivenTheCaseIsCurrentlyOpenInCati()
        {
            var primaryKey = _scenarioContext.Get <string>("primaryKey");

            CaseHelper.GetInstance().MarkCaseAsOpenInCati(primaryKey);
        }
 public void GivenBlaiseContainsTheFollowingCases(IEnumerable <CaseModel> cases)
 {
     CaseHelper.GetInstance().CreateCasesInBlaise(cases);
 }
 public void GivenTheBlaiseDatabaseIsEmpty()
 {
     CaseHelper.GetInstance().DeleteCases();
 }
 public void GivenBlaiseContainsCases(int numberOfCases)
 {
     CaseHelper.GetInstance().CreateCasesInBlaise(numberOfCases);
 }
        public void ThenCasesWillBeImportedIntoBlaise(int numberOfCases)
        {
            var numberOfCasesInBlaise = CaseHelper.GetInstance().NumberOfCasesInInstrument();

            Assert.AreEqual(numberOfCases, numberOfCasesInBlaise);
        }