Skip to content

Commit

Permalink
Add order creation tests
Browse files Browse the repository at this point in the history
  • Loading branch information
fcarrero committed Mar 4, 2024
1 parent faed886 commit e8718d7
Show file tree
Hide file tree
Showing 2 changed files with 179 additions and 1 deletion.
64 changes: 64 additions & 0 deletions example/order.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
import 'package:conekta/conekta.dart';
import 'package:one_of/one_of.dart';
import 'package:built_collection/built_collection.dart';
import 'package:built_value/json_object.dart';
Future<void> main() async {
var instance = Conekta();
instance.setBearerAuth("bearerAuth", "key_0HATKNkopS0O42pOp1Ilpcc");
final api = instance.getOrdersApi();

var customerInfo = OrderRequestCustomerInfo((b) => b
..oneOf = OneOf1(value: CustomerInfo((b) => b
..corporate = false
..name = 'Marvin Fuller'
..email = '[email protected]'
..phone = '55-5555-5555'
)
));
var metadata = MapBuilder<String, JsonObject?>()
..[('key1')] = JsonObject({'value': 'data1'})
..[('key2')] = JsonObject({'value': 'data2'});

var fiscalEntityAddress = $FiscalEntityAddressBuilder()
..street1 = '250 Alexis St'
..city = 'Red Deer'
..state = 'Alberta'
..country = 'CA'
..postalCode = 'T4N 0B8'
..externalNumber = '123'
;
var fiscalEntity = OrderFiscalEntityRequestBuilder()
..taxId = 'XAXX010101000'
..email = '[email protected]'
..metadata = metadata
..address =fiscalEntityAddress.build()
;
var shippingContact = $CustomerShippingContactsBuilder()
..phone = '55-5555-5555'
..receiver = 'Marvin Fuller'
..betweenStreets = 'Melrose St'
..metadata = metadata
..address.replace(CustomerShippingContactsAddress((b) => b
..street1 = '250 Alexis St'
..city = 'Red Deer'
..state = 'Alberta'
..country = 'CA'
..postalCode = 'T4N 0B8'
));

final orderRequest = OrderRequest((b) => b
..currency = 'MXN'
..customerInfo.replace(customerInfo)
..shippingContact = shippingContact.build()
..fiscalEntity = fiscalEntity
..lineItems = ListBuilder<Product>([
$Product((b) => b
..name = 'Box of Chocolates'
..unitPrice = 2000
..quantity = 1
)
])
);
var response = await api.createOrder(orderRequest: orderRequest);
print(response.data);
}
116 changes: 115 additions & 1 deletion test/orders_api_test.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
import 'package:test/test.dart';
import 'package:conekta/conekta.dart';
import 'base.dart';
import 'package:one_of/one_of.dart';
import 'package:built_collection/built_collection.dart';
import 'package:built_value/json_object.dart';


/// tests for OrdersApi
void main() {
Expand All @@ -24,7 +28,117 @@ void main() {
//
//Future<OrderResponse> createOrder(OrderRequest orderRequest, { String acceptLanguage, String xChildCompanyId }) async
test('test createOrder', () async {
// TODO

var customerInfo = OrderRequestCustomerInfo((b) => b
..oneOf = OneOf1(value: CustomerInfoJustCustomerId((b) => b
..customerId = 'cus_2tKcHxhTz7xU5SymF')
));
var metadata = MapBuilder<String, JsonObject?>()
..[('key1')] = JsonObject({'value': 'data1'})
..[('key2')] = JsonObject({'value': 'data2'});

var fiscalEntityAddress = $FiscalEntityAddressBuilder()
..street1 = '250 Alexis St'
..city = 'Red Deer'
..state = 'Alberta'
..country = 'CA'
..postalCode = 'T4N 0B8'
..externalNumber = '123'
;
var fiscalEntity = OrderFiscalEntityRequestBuilder()
..taxId = 'XAXX010101000'
..email = '[email protected]'
..metadata = metadata
..address =fiscalEntityAddress.build()
;
var shippingContact = $CustomerShippingContactsBuilder()
..phone = '55-5555-5555'
..receiver = 'Marvin Fuller'
..betweenStreets = 'Melrose St'
..metadata = metadata
..address.replace(CustomerShippingContactsAddress((b) => b
..street1 = '250 Alexis St'
..city = 'Red Deer'
..state = 'Alberta'
..country = 'CA'
..postalCode = 'T4N 0B8'
));

final orderRequest = OrderRequest((b) => b
..currency = 'MXN'
..customerInfo.replace(customerInfo)
..shippingContact = shippingContact.build()
..fiscalEntity = fiscalEntity
);
var response = await api.createOrder(orderRequest: orderRequest);

expect(response.data, isNotNull);
expect(2000, response.data?.amount);
});

// Create order
//
// Create a new order.
//
//Future<OrderResponse> createOrder(OrderRequest orderRequest, { String acceptLanguage, String xChildCompanyId }) async
test('test createOrder creating customer ', () async {

var customerInfo = OrderRequestCustomerInfo((b) => b
..oneOf = OneOf1(value: CustomerInfo((b) => b
..corporate = false
..name = 'Marvin Fuller'
..email = '[email protected]'
..phone = '55-5555-5555'
)
));
var metadata = MapBuilder<String, JsonObject?>()
..[('key1')] = JsonObject({'value': 'data1'})
..[('key2')] = JsonObject({'value': 'data2'});

var fiscalEntityAddress = $FiscalEntityAddressBuilder()
..street1 = '250 Alexis St'
..city = 'Red Deer'
..state = 'Alberta'
..country = 'CA'
..postalCode = 'T4N 0B8'
..externalNumber = '123'
;
var fiscalEntity = OrderFiscalEntityRequestBuilder()
..taxId = 'XAXX010101000'
..email = '[email protected]'
..metadata = metadata
..address =fiscalEntityAddress.build()
;
var shippingContact = $CustomerShippingContactsBuilder()
..phone = '55-5555-5555'
..receiver = 'Marvin Fuller'
..betweenStreets = 'Melrose St'
..metadata = metadata
..address.replace(CustomerShippingContactsAddress((b) => b
..street1 = '250 Alexis St'
..city = 'Red Deer'
..state = 'Alberta'
..country = 'CA'
..postalCode = 'T4N 0B8'
));

final orderRequest = OrderRequest((b) => b
..currency = 'MXN'
..customerInfo.replace(customerInfo)
..shippingContact = shippingContact.build()
..fiscalEntity = fiscalEntity
..lineItems = ListBuilder<Product>([
$Product((b) => b
..name = 'Box of Chocolates'
..unitPrice = 2000
..quantity = 1
)
])
);
var response = await api.createOrder(orderRequest: orderRequest);

expect(response.data, isNotNull);
expect(2000, response.data?.amount);
});

// Get Order
Expand Down

0 comments on commit e8718d7

Please sign in to comment.