public void Update_GetAndUpdate_CallsConnectorWithUpdate() { var salesInvoiceId = 1234; var existing = new SalesInvoiceGet() { id = salesInvoiceId, }; var data = new Contract.Model.SalesInvoice() { Id = existing.id }; var existingMapped = new SalesInvoicePost(); var saveResult = new SalesInvoiceGet(); var mappedResult = new Contract.Model.SalesInvoice() { ContactId = 1234 }; _defaultConnector.Setup(c => c.GetById(salesInvoiceId)).Returns(existing); _mapper.Setup(c => c.MapToApi(data, existing)).Returns(existingMapped); _defaultConnector.Setup(c => c.Update(salesInvoiceId, It.Is <SalesInvoiceWrapper>(v => v.sales_invoice == existingMapped))).Returns(saveResult); _mapper.Setup(c => c.MapToContract(saveResult)).Returns(mappedResult); var result = _invoiceService.Update(salesInvoiceId, data); result.Should().BeEquivalentTo(mappedResult); _defaultConnector.Verify(c => c.Update(salesInvoiceId, It.Is <SalesInvoiceWrapper>(v => v.sales_invoice == existingMapped)), Times.Once); }
private void SetCustomFields(Contract.Model.RecurringSalesInvoice current, SalesInvoicePost returnValue) { var jobject = new JsonObject(); if (current.CustomFields != null) { foreach (var customField in current.CustomFields) { jobject[current.CustomFields.IndexOf(customField).ToString()] = _customFieldMapper.MapToApi(customField, null); } } returnValue.custom_fields_attributes = jobject; }
public void MapToApi_MapObject_Correctly() { var current = new SalesInvoiceGet(); var salesInvoice = new Contract.Model.SalesInvoice() { State = Contract.Model.SalesInvoiceStatus.Draft, Id = 1, DocumentStyleId = 12345, WorkflowId = 12346, InvoiceId = "ABC", PriceAreIncludedTax = true, DueDate = new DateTime(2016, 10, 20), InvoiceDate = new DateTime(2016, 11, 20), ContactId = 123, TotalPriceExcludingTax = 123, TotalPriceIncludingTax = 150, TotalTax = 27, }; var result = _mapper.MapToApi(salesInvoice, current); var expectedResult = new SalesInvoicePost() { state = "draft", contact_id = salesInvoice.ContactId, document_style_id = salesInvoice.DocumentStyleId, workflow_id = salesInvoice.WorkflowId, invoice_id = salesInvoice.InvoiceId, due_date = "2016-10-20", invoice_date = "2016-11-20", id = salesInvoice.Id, prices_are_incl_tax = salesInvoice.PriceAreIncludedTax, total_price_excl_tax = salesInvoice.TotalPriceExcludingTax, total_price_incl_tax = salesInvoice.TotalPriceIncludingTax, total_tax = salesInvoice.TotalTax }; result.Should().BeEquivalentTo(expectedResult, opt => opt .Excluding(p => p.details_attributes) .Excluding(p => p.custom_fields_attributes)); }
public void Create_MapsToApi_CallsConnectorWithWrapper() { var salesInvoice = new Contract.Model.SalesInvoice(); var update = new SalesInvoicePost(); var resultContact = new SalesInvoiceGet() { id = 1234 }; _mapper.Setup(c => c.MapToApi(salesInvoice, null)).Returns(update); _defaultConnector.Setup(c => c.Create(It.Is <SalesInvoiceWrapper>(v => v.sales_invoice == update))).Returns(resultContact); _mapper.Setup(c => c.MapToContract(resultContact)).Returns(new Contract.Model.SalesInvoice() { Id = resultContact.id }); var result = _invoiceService.Create(salesInvoice); result.Id.Should().Be(resultContact.id); _defaultConnector.Verify(c => c.Create(It.Is <SalesInvoiceWrapper>(v => v.sales_invoice == update)), Times.Once); }
public SalesInvoiceWrapper(SalesInvoicePost salesInvoice) { this.sales_invoice = salesInvoice; }