コード例 #1
0
        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);
        }
コード例 #2
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));
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }