public void Given_I_Call_MapToSerializedJson_Then_Only_Qid_Fields_In_The_Data_Record_Should_Be_Mapped()
        {
            //arrange
            const string         surveyName     = "instrument1";
            const string         serverPark     = "serverPark1";
            const CaseStatusType caseStatusType = CaseStatusType.NisraCaseImported;

            //should never be mapped as not QID
            var nonQidField3Mock = new Mock <IField>();

            nonQidField3Mock.Setup(f => f.LocalName).Returns("ShouldNotBeMappedName");
            nonQidField3Mock.Setup(f => f.DataValue.ValueAsText).Returns("ShouldNotBeMappedValue");

            var nonQidFieldCollection = new List <IField>
            {
                nonQidField3Mock.Object
            };

            var nonQidFieldCollectionMock = new Mock <IFieldCollection>();

            nonQidFieldCollectionMock.Setup(f => f.GetEnumerator()).Returns(nonQidFieldCollection.GetEnumerator());

            _recordMock.Setup(r => r.GetField("NON-QID").Fields).Returns(nonQidFieldCollectionMock.Object);


            //act
            var result = _sut.MapToSerializedJson(_recordMock.Object, surveyName, serverPark, caseStatusType);

            //assert
            Assert.NotNull(result);
            Assert.AreEqual(@"{""Field1Name"":""field1value"",""Field2Name"":""field2value"",""instrument_name"":""instrument1"",""server_park"":""serverPark1"",""status"":""NISRA record imported""}",
                            result);
        }
        public void Given_I_Call_MapToSerializedJson_Then_I_Get_A_String_Returned()
        {
            //arrange
            const string         surveyName     = "instrument1";
            const string         serverPark     = "serverPark1";
            const CaseStatusType caseStatusType = CaseStatusType.NisraCaseImported;

            //act
            var result = _sut.MapToSerializedJson(_recordMock.Object, surveyName, serverPark, caseStatusType);

            //assert
            Assert.NotNull(result);
            Assert.IsInstanceOf <string>(result);
        }
        public void Given_I_Call_MapToSerializedJson_Then_I_Get_The_Expected_String_Returned()
        {
            //arrange
            const string         surveyName     = "instrument1";
            const string         serverPark     = "serverPark1";
            const CaseStatusType caseStatusType = CaseStatusType.NisraCaseImported;


            //act
            var result = _sut.MapToSerializedJson(_recordMock.Object, surveyName, serverPark, caseStatusType);

            //assert
            Assert.NotNull(result);
            Assert.AreEqual(@"{""Field1Name"":""field1value"",""Field2Name"":""field2value"",""instrument_name"":""instrument1"",""server_park"":""serverPark1"",""status"":""NISRA record imported""}",
                            result);
        }
        public void Given_I_Call_MapToSerializedJson_Then_I_Get_A_Json_String_Returned()
        {
            //arrange
            const string         surveyName     = "instrument1";
            const string         serverPark     = "serverPark1";
            const CaseStatusType caseStatusType = CaseStatusType.NisraCaseImported;


            //act
            var jsonDataString = _sut.MapToSerializedJson(null, surveyName, serverPark, caseStatusType);

            var result = JsonConvert.DeserializeObject <Dictionary <string, string> >(jsonDataString);

            //assert
            Assert.AreEqual(caseStatusType.FullName(), result["status"]);
            Assert.AreEqual(surveyName, result["instrument_name"]);
            Assert.AreEqual(serverPark, result["server_park"]);
        }
Example #5
0
        public void PublishCaseStatus(IDataRecord recordData, string surveyName, string serverPark, CaseStatusType caseStatusType)
        {
            var message = _mapper.MapToSerializedJson(recordData, surveyName, serverPark, caseStatusType);

            _queueService.PublishMessage(message);

            _logger.Info($"Message '{message}' was published");
        }
Example #6
0
        public void Given_I_Call_PublishCaseStatus_Then_The_Correct_Services_Are_Called(CaseStatusType caseStatusType)
        {
            //arrange
            var message = "Test Message";

            _mapperMock.Setup(m => m.MapToSerializedJson(
                                  It.IsAny <IDataRecord>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <CaseStatusType>()))
            .Returns(message);

            _queueServiceMock.Setup(q => q.PublishMessage(It.IsAny <string>()));

            //act
            _sut.PublishCaseStatus(_dataRecordMock.Object, _surveyName, _serverPark, caseStatusType);

            //assert
            _mapperMock.Verify(v => v.MapToSerializedJson(_dataRecordMock.Object, _surveyName, _serverPark, caseStatusType), Times.Once);
            _queueServiceMock.Verify(v => v.PublishMessage(message), Times.Once);
        }
        public string MapToSerializedJson(IDataRecord recordData, string surveyName, string serverPark, CaseStatusType caseStatusType)
        {
            var jsonData = new Dictionary <string, string>();

            if (recordData != null)
            {
                foreach (var qidField in recordData.GetField("QID").Fields)
                {
                    jsonData[qidField.LocalName] = qidField.DataValue.ValueAsText.ToLower();
                }
            }

            jsonData["instrument_name"] = surveyName;
            jsonData["server_park"]     = serverPark;
            jsonData["status"]          = caseStatusType.FullName();

            return(JsonConvert.SerializeObject(jsonData));
        }