public void CreateCaseNoteRequestToCaseNotesDocumentUsesCorrectDateTimeFormatForTimestamp() { CreateCaseNoteRequest request = _fixture .Build <CreateCaseNoteRequest>() .With(x => x.ContextFlag, _faker.Random.String2(1)) .With(x => x.CaseFormData, "{\"prop_one\": \"value one\", \"prop_two\": \"value two\"}") .Create(); var result = request.ToEntity(); dynamic formData = JsonConvert.DeserializeObject(result.CaseFormData); string timestamp = formData["timestamp"]; (DateTime.TryParseExact(timestamp, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime date)).Should().BeTrue(); }
public void CanMapCreateCaseNoteRequestToCaseNotesDocument() { CreateCaseNoteRequest request = _fixture .Build <CreateCaseNoteRequest>() .With(x => x.ContextFlag, _faker.Random.String2(1)) .With(x => x.CaseFormData, "{\"prop_one\": \"value one\", \"prop_two\": \"value two\"}") .Create(); GenericCaseNote note = new GenericCaseNote() { DateOfBirth = request.DateOfBirth?.ToString("dd/MM/yyy"), DateOfEvent = request.DateOfEvent?.ToString(), FirstName = request.FirstName, LastName = request.LastName, FormName = request.FormName, FormNameOverall = request.FormNameOverall, WorkerEmail = request.WorkerEmail, MosaicId = request.PersonId.ToString() }; var result = request.ToEntity(); dynamic formData = JsonConvert.DeserializeObject(result.CaseFormData); //take the generated timestamp value and use it in the expected result note.Timestamp = formData["timestamp"]; JObject coreProperties = JObject.Parse(JsonConvert.SerializeObject(note)); coreProperties.Merge(JObject.Parse(request.CaseFormData)); var expectedResult = new CaseNotesDocument() { CaseFormData = coreProperties.ToString() }; result.Should().BeEquivalentTo(expectedResult); }
public Task <string> Execute(CreateCaseNoteRequest request) { CaseNotesDocument doc = request.ToEntity(); return(_processDataGateway.InsertCaseNoteDocument(doc)); }