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)); }
public void CanRetrieve_Command_FromJsonDocument() { // arrange var model = _requestModelFactory.CreateRequest(); var expected = model.Command; var jsonDocument = SerializeAndCreateJsonDocmuent(model); var builder = new RequestFromJsonBuilder(null); // act Commands command = builder.GetCommand(jsonDocument.RootElement.GetProperty("Command")); // assert command.Should().Be(expected); }
public void GetProductsThrowsWithWrongArgument() { // arrange var model = _requestModelFactory.CreateRequest(); var jsonDocument = SerializeAndCreateJsonDocmuent(model); var builder = new RequestFromJsonBuilder(null); // act var jsonElement = jsonDocument.RootElement.GetProperty("Contract"); Action act = () => builder.GetProducts(jsonElement); // assert act.Should().Throw <ArgumentException>(); }
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); }
public void CanRetrieve_Contract_FromJsonDocument() { // arrange var model = _requestModelFactory.CreateRequest(); var expected = model.Contract; var jsonDocument = SerializeAndCreateJsonDocmuent(model); var builder = new RequestFromJsonBuilder(null); // act var jsonElement = jsonDocument.RootElement.GetProperty("Contract"); Contract contract = builder.GetContract(jsonElement); // assert contract.ID.Should().Be(expected.ID); }
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_Organisation_FromJsonDocument() { // arrange var model = _requestModelFactory.CreateRequest(); var expected = model.Contract.Organisation; var jsonDocument = SerializeAndCreateJsonDocmuent(model); var builder = new RequestFromJsonBuilder(null); // act var jsonElement = jsonDocument.RootElement.GetProperty("Contract").GetProperty("Organisation"); var organisation = builder.GetOrganisation(jsonElement); // assert organisation.ID.Should().Be(expected.ID); organisation.Name.Should().Be(expected.Name); organisation.Description.Should().Be(expected.Description); }
public void CanRetrieve_Products_FromDocument() { // arrange var model = _requestModelFactory.CreateRequest(); var jsonDocument = SerializeAndCreateJsonDocmuent(model); var builder = new RequestFromJsonBuilder(null); // act var jsonElement = jsonDocument.RootElement.GetProperty("Contract").GetProperty("Products"); IList <Product> products = builder.GetProducts(jsonElement); // assert products.Count.Should().BeGreaterThan(0); products[0].ID.Should().NotBe(0); products[0].Name.Should().NotBeNullOrEmpty(); products[0].Description.Should().NotBeNullOrEmpty(); }
public void CanRetrieve_Applicant_FromJsonDocument() { // arrange var model = _requestModelFactory.CreateRequest(); var expected = model.Applicant; var jsonDocument = SerializeAndCreateJsonDocmuent(model); var builder = new RequestFromJsonBuilder(null); // act var jsonElement = jsonDocument.RootElement.GetProperty("Applicant"); Person applicant = builder.GetApplicant(jsonElement); // assert applicant.FirstName.Should().BeEquivalentTo(expected.FirstName); applicant.LastName.Should().BeEquivalentTo(expected.LastName); applicant.Salutation.Should().BeEquivalentTo(expected.Salutation); applicant.ID.Should().Be(expected.ID); }
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); }