public void Can_Retrieve_Request_LatestDocument() { // arrange var keys = new string[] { "Query", "ID", "Request" }; // keys in response var length = keys.Length; var handler = new QueryHandler(Fixture.Context); var builder = new RequestFromJsonBuilder(null); // no logger // act var requestId = Fixture.Context.RequestDocuments.First().ID; var args = new Dictionary <string, string>() { { "ID", requestId.ToString() } }; var result = handler.QueryFor(Queries.Request, args); var resultDict = JsonSerializer.Deserialize <Dictionary <string, string> >(result); var jsonDoc = JsonDocument.Parse(resultDict["Request"]); var request = builder.GetRequest(jsonDoc.RootElement); // assert foreach (var s in keys) { resultDict.Should().ContainKey(s); } request.Should().NotBeNull(); request.Applicant.Should().NotBeNull(); request.Contract.Should().NotBeNull(); request.Remarks.Should().NotBeNull(); request.Contract.Products.Count.Should().BeGreaterThan(0); }
public RequestBase CreateDeepCopy(RequestBase model) { var json = model.SerializeToJson(); var document = JsonDocument.Parse(json); var builder = new RequestFromJsonBuilder(null); return(builder.GetRequest(document.RootElement)); }
private byte[] HasRequestStatus(Guid requestID, Dictionary <string, string> args, params RequestStatus[] status) { IList <RequestDocument> selectedDocuments = GetRequestHistory(requestID); var json = JsonDocument.Parse(selectedDocuments.Last().SerializedRequest); var builder = new RequestFromJsonBuilder(null); // no logger var currentStatus = builder.GetRequest(json.RootElement).Status; bool hasStatus = (currentStatus == status[0]); var responseDict = args; responseDict.Add("Result", hasStatus ? "true" : "false"); var response = _responseBuilder.Create(Queries.HasStatus, responseDict); return(response.AsUTF8Bytes); }
private byte[] GetCurrentStatusForRequest(Guid requestID, Dictionary <string, string> args, params RequestStatus[] status) { IList <RequestDocument> selectedDocuments = GetRequestHistory(requestID); var json = JsonDocument.Parse(selectedDocuments.Last().SerializedRequest); var builder = new RequestFromJsonBuilder(null); var request = builder.GetRequest(json.RootElement); var resultsDict = new Dictionary <string, string>() { { "ID", requestID.ToString() }, { "Status", request.Status.ToString("g") } }; var response = _responseBuilder.Create(Queries.CurrentStatus, resultsDict); return(response.AsUTF8Bytes); }
public void CanRetrieve_Request_FromJsonDocument() { // arrange var model = _requestModelFactory.CreateRequest(); var expected = model; var jsonDocument = SerializeAndCreateJsonDocmuent(model); var builder = new RequestFromJsonBuilder(null); // act var request = builder.GetRequest(jsonDocument.RootElement); // assert request.ID.Should().Be(expected.ID); request.DateCreated.Should().Be(expected.DateCreated); request.DateLastUpdated.Should().Be(expected.DateLastUpdated); request.Status.Should().Be(expected.Status); request.Contract.ID.Should().Be(expected.Contract.ID); request.Applicant.ID.Should().Be(expected.Applicant.ID); }