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"]); }
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"); }
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)); }