Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
shopify_iossdk
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
cemarose
shopify_iossdk
Commits
fd5cdbb8
Commit
fd5cdbb8
authored
May 06, 2016
by
Brent Gulanowski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add new tests.
parent
3ab827c2
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
626 additions
and
2 deletions
+626
-2
BUYCollectionTests.m
Mobile Buy SDK/Mobile Buy SDK Tests/BUYCollectionTests.m
+46
-0
BUYCustomerTests.m
Mobile Buy SDK/Mobile Buy SDK Tests/BUYCustomerTests.m
+64
-0
BUYModelManagerTests.m
Mobile Buy SDK/Mobile Buy SDK Tests/BUYModelManagerTests.m
+262
-0
BUYOrderTests.m
Mobile Buy SDK/Mobile Buy SDK Tests/BUYOrderTests.m
+46
-0
orders.json
Mobile Buy SDK/Mobile Buy SDK Tests/orders.json
+186
-0
project.pbxproj
Mobile Buy SDK/Mobile Buy SDK.xcodeproj/project.pbxproj
+22
-2
No files found.
Mobile Buy SDK/Mobile Buy SDK Tests/BUYCollectionTests.m
0 → 100644
View file @
fd5cdbb8
//
// BUYCollectionTests.m
// Mobile Buy SDK
//
// Created by Shopify.
// Copyright (c) 2015 Shopify Inc. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
#import <XCTest/XCTest.h>
#import "BUYCollection.h"
#import "BUYModelManager.h"
@interface
BUYCollectionTests
:
XCTestCase
@end
@implementation
BUYCollectionTests
-
(
void
)
testStringDescriptionGetsCreated
{
BUYModelManager
*
modelManager
=
[
BUYModelManager
modelManager
];
BUYCollection
*
collection
=
[
modelManager
insertCollectionWithJSONDictionary
:
nil
];
XCTAssertNil
(
collection
.
stringDescription
);
collection
.
JSONDictionary
=
@{
@"html_description"
:
@"<meta>super</meta> duper <b>collection</b>"
};
XCTAssertEqualObjects
(
collection
.
stringDescription
,
@"super duper collection"
);
}
@end
Mobile Buy SDK/Mobile Buy SDK Tests/BUYCustomerTests.m
0 → 100644
View file @
fd5cdbb8
//
// BUYCustomerTests.m
// Mobile Buy SDK
//
// Created by Shopify.
// Copyright (c) 2015 Shopify Inc. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
#import <XCTest/XCTest.h>
#import "BUYCustomer.h"
@interface
BUYCustomerTests
:
XCTestCase
@end
@implementation
BUYCustomerTests
-
(
BUYCustomer
*
)
createTestCustomer
{
BUYCustomer
*
customer
=
[
BUYCustomer
new
];
customer
.
firstName
=
@"Brent"
;
customer
.
lastName
=
@"Gulanowski"
;
return
customer
;
}
-
(
void
)
testFullName
{
BUYCustomer
*
customer
=
[
self
createTestCustomer
];
XCTAssertEqualObjects
(
customer
.
fullName
,
@"Brent Gulanowski"
);
}
-
(
void
)
testJSONRepresentation
{
BUYModelManager
*
modelManager
=
[
BUYModelManager
modelManager
];
NSDictionary
*
JSON
=
@{
@"customer"
:
@{
@"first_name"
:
@"Brent"
,
@"last_name"
:
@"Gulanowski"
}};
BUYCustomer
*
jsonCustomer
=
[
modelManager
customerWithJSONDictionary
:
JSON
];
NSDictionary
*
actualJSON
=
jsonCustomer
.
JSONDictionary
;
XCTAssertEqualObjects
(
JSON
[
@"customer"
],
actualJSON
);
}
@end
Mobile Buy SDK/Mobile Buy SDK Tests/BUYModelManagerTests.m
0 → 100644
View file @
fd5cdbb8
//
// buymodel_tests.m
// buymodel tests
//
// Created by Shopify.
// Copyright (c) 2015 Shopify Inc. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
#import <XCTest/XCTest.h>
#import "BUYManagedObject.h"
#import "BUYCollection.h"
//#import "BUYCustomer.h"
#import "BUYProduct.h"
#import "BUYProductVariant.h"
#import "BUYShop.h"
#import "BUYAddress.h"
#import "BUYCheckout.h"
#import "BUYLineItem.h"
#import "BUYModelManager.h"
#import <CoreData/CoreData.h>
@interface
BUYModelManager
(
buymodel_tests
)
-
(
BUYCollection
*
)
newTestCollection
;
-
(
BUYCollection
*
)
newTestCollectionWithProducts
:(
NSArray
*
)
products
;
-
(
BUYProduct
*
)
newTestProduct
;
-
(
BUYProduct
*
)
newTestProductWithVariants
:(
NSArray
*
)
variants
;
-
(
BUYProductVariant
*
)
newTestVariant
;
@end
@interface
NSJSONSerialization
(
buymodel_tests
)
+
(
NSDictionary
*
)
JSONDictionaryWithData
:(
NSData
*
)
data
;
+
(
NSDictionary
*
)
JSONDictionaryWithString
:(
NSString
*
)
string
;
@end
@interface
BUYModelManagerTests
:
XCTestCase
{
BUYModelManager
*
_modelManager
;
}
@end
static
NSDictionary
*
sampleJSON
;
@implementation
BUYModelManagerTests
+
(
void
)
initialize
{
static
dispatch_once_t
onceToken
;
dispatch_once
(
&
onceToken
,
^
{
NSURL
*
jsonURL
=
[[
NSBundle
bundleForClass
:[
self
class
]]
URLForResource
:
@"mocked_responses"
withExtension
:
@"json"
];
NSData
*
jsonData
=
[
NSData
dataWithContentsOfURL
:
jsonURL
];
sampleJSON
=
[
NSJSONSerialization
JSONObjectWithData
:
jsonData
options
:
0
error
:
NULL
];
});
}
-
(
NSManagedObjectModel
*
)
buyModel
{
NSBundle
*
bundle
=
[
NSBundle
bundleForClass
:[
BUYObject
class
]];
XCTAssertNotNil
(
bundle
,
@"Cannot find bundle for BUYManagedObject"
);
NSURL
*
url
=
[
bundle
URLForResource
:
@"Mobile Buy SDK"
withExtension
:
@"momd"
];
XCTAssertNotNil
(
url
);
return
[[
NSManagedObjectModel
alloc
]
initWithContentsOfURL
:
url
];
}
-
(
void
)
setUp
{
[
super
setUp
];
_modelManager
=
[[
BUYModelManager
alloc
]
initWithManagedObjectModel
:[
self
buyModel
]];
}
-
(
void
)
tearDown
{
_modelManager
=
nil
;
}
-
(
void
)
testCoreDataModelDefinitions
{
NSManagedObjectModel
*
model
=
_modelManager
.
model
;
NSDictionary
*
entities
=
[
model
entitiesByName
];
XCTAssertGreaterThan
(
entities
.
count
,
0
,
@"No entities found in model %@"
,
model
);
NSArray
*
persistentEntities
=
[
model
entitiesForConfiguration
:
@"persistent"
];
NSArray
*
transientEntities
=
[
model
entitiesForConfiguration
:
@"transient"
];
XCTAssertEqual
((
persistentEntities
.
count
+
transientEntities
.
count
),
entities
.
count
,
@"Some entities in model not included in configurations"
);
}
-
(
void
)
testConvertJSON
{
NSString
*
JSONString
=
sampleJSON
[
@"testGetShop_0"
][
@"body"
];
NSDictionary
*
expected
=
[
NSJSONSerialization
JSONDictionaryWithString
:
JSONString
];
id
<
BUYObject
>
object
=
[
_modelManager
buy_objectWithEntityName
:
@"Shop"
JSONDictionary
:
expected
];
NSDictionary
*
actual
=
object
.
JSONDictionary
;
XCTAssertEqualObjects
(
actual
,
expected
,
@"generated dictionary was incorrect"
);
}
#if 0
- (void)testTransformFromJSONTransient
{
}
- (void)testTransformFromJSONPersistent
{
}
- (void)testTransformFromJSONPersistentUnique
{
}
- (void)testTransformtoJSONTransient
{
}
- (void)testTransformToJSONPersistent
{
}
#endif
-
(
BUYCheckout
*
)
newTestCheckout
{
return
[
self
newTestCheckoutWithLineItems
:@[[
self
newTestLineItem
],
[
self
newTestLineItem
],
[
self
newTestLineItem
]]];
}
-
(
BUYCheckout
*
)
newTestCheckoutWithLineItems
:
(
NSArray
*
)
lineItems
{
static
NSUInteger
checkoutId
=
0
;
++
checkoutId
;
NSDictionary
*
props
=
@{
@"identifier"
:
@
(
checkoutId
),
};
BUYCheckout
*
checkout
=
[[
BUYCheckout
alloc
]
initWithModelManager
:
_modelManager
JSONDictionary
:
props
];
checkout
.
lineItems
=
[
NSOrderedSet
orderedSetWithArray
:
lineItems
];
return
checkout
;
}
-
(
BUYLineItem
*
)
newTestLineItem
{
return
[
self
newTestLineItemWithVariant
:[
_modelManager
newTestVariant
]];
}
-
(
BUYLineItem
*
)
newTestLineItemWithVariant
:
(
BUYProductVariant
*
)
variant
{
static
NSUInteger
lineItemId
=
0
;
++
lineItemId
;
NSDictionary
*
props
=
@{
@"identifier"
:
@
(
lineItemId
),
};
BUYLineItem
*
lineItem
=
[[
BUYLineItem
alloc
]
initWithModelManager
:
_modelManager
JSONDictionary
:
props
];
lineItem
.
variantId
=
variant
.
identifier
;
return
lineItem
;
}
@end
@implementation
BUYModelManager
(
buymodel_tests
)
-
(
BUYCollection
*
)
newTestCollection
{
return
[
self
newTestCollectionWithProducts
:@[[
self
newTestProduct
],
[
self
newTestProduct
]]];
}
-
(
BUYCollection
*
)
newTestCollectionWithProducts
:
(
NSArray
*
)
products
{
static
NSUInteger
collectionId
=
0
;
++
collectionId
;
NSDictionary
*
props
=
@{
BUYCollectionAttributes
.
identifier
:
@
(
collectionId
),
BUYCollectionAttributes
.
title
:
[
NSString
stringWithFormat
:
@"Collection-%tu"
,
collectionId
],
};
BUYCollection
*
collection
=
[
self
insertCollectionWithJSONDictionary
:
props
];
collection
.
products
=
[
NSOrderedSet
orderedSetWithArray
:
products
];
return
collection
;
}
-
(
BUYProduct
*
)
newTestProduct
{
return
[
self
newTestProductWithVariants
:@[[
self
newTestVariant
],
[
self
newTestVariant
]]];
}
-
(
BUYProduct
*
)
newTestProductWithVariants
:
(
NSArray
*
)
variants
{
static
NSUInteger
productId
=
0
;
++
productId
;
int32_t
order
=
0
;
for
(
BUYProductVariant
*
variant
in
variants
)
{
variant
.
positionValue
=
order
++
;
}
NSDictionary
*
props
=
@{
BUYProductAttributes
.
identifier
:
@
(
productId
),
BUYProductAttributes
.
title
:
[
NSString
stringWithFormat
:
@"Product-%tu"
,
productId
],
};
BUYProduct
*
product
=
[
self
insertProductWithJSONDictionary
:
props
];
product
.
variants
=
[
NSOrderedSet
orderedSetWithArray
:
variants
];
return
product
;
}
-
(
BUYProductVariant
*
)
newTestVariant
{
static
NSUInteger
variantId
=
0
;
++
variantId
;
NSDictionary
*
props
=
@{
BUYProductVariantAttributes
.
identifier
:
@
(
variantId
),
BUYProductVariantAttributes
.
available
:
@YES
,
BUYProductVariantAttributes
.
requiresShipping
:
@YES
,
BUYProductVariantAttributes
.
title
:
[
NSString
stringWithFormat
:
@"Variant-%tu"
,
variantId
],
BUYProductVariantAttributes
.
price
:
[
NSDecimalNumber
decimalNumberWithString
:
@"9.95"
]
};
return
[
self
insertProductVariantWithJSONDictionary
:
props
];
}
@end
@implementation
NSJSONSerialization
(
buymodel_tests
)
+
(
NSDictionary
*
)
JSONDictionaryWithData
:(
NSData
*
)
data
{
NSError
*
error
=
nil
;
NSDictionary
*
dictionary
=
[
self
JSONObjectWithData
:
data
options
:
0
error
:&
error
];
if
(
nil
==
dictionary
)
{
NSLog
(
@"Failed to decode %tu bytes of data; error: %@"
,
data
.
length
,
error
);
}
return
dictionary
;
}
+
(
NSDictionary
*
)
JSONDictionaryWithString
:(
NSString
*
)
string
{
return
[
self
JSONDictionaryWithData
:[
string
dataUsingEncoding
:
NSUTF8StringEncoding
]];
}
@end
Mobile Buy SDK/Mobile Buy SDK Tests/BUYOrderTests.m
0 → 100644
View file @
fd5cdbb8
//
// BUYOrderTests.m
// Mobile Buy SDK
//
// Created by Gabriel O'Flaherty-Chan on 2016-02-17.
// Copyright © 2016 Shopify Inc. All rights reserved.
//
#import <XCTest/XCTest.h>
#import "BUYOrder.h"
@interface
BUYOrderTests
:
XCTestCase
@property
(
nonatomic
,
readonly
)
NSArray
<
BUYOrder
*>
*
orders
;
@property
(
nonatomic
,
readonly
)
NSDictionary
*
ordersJSON
;
@end
@implementation
BUYOrderTests
-
(
NSArray
<
BUYOrder
*>
*
)
orders
{
return
[[
BUYModelManager
modelManager
]
buy_objectsWithEntityName
:[
BUYOrder
entityName
]
JSONArray
:
self
.
JSON
[
@"orders"
]];
}
-
(
NSDictionary
*
)
JSON
{
NSString
*
path
=
[[
NSBundle
bundleForClass
:[
self
class
]]
pathForResource
:
@"orders"
ofType
:
@"json"
];
NSDictionary
*
dictionary
=
[
NSDictionary
dictionaryWithContentsOfFile
:
path
];
return
dictionary
;
}
-
(
void
)
testLineItems
{
NSArray
*
ordersJSON
=
self
.
JSON
[
@"orders"
];
XCTAssertNotNil
(
ordersJSON
);
[
ordersJSON
enumerateObjectsUsingBlock
:
^
(
NSDictionary
*
orderJSON
,
NSUInteger
idx
,
BOOL
*
_Nonnull
stop
)
{
NSArray
*
unfulfilledLineItems
=
orderJSON
[
@"unfulfilled_line_items"
];
NSArray
*
fulfilledLineItems
=
orderJSON
[
@"fulfilled_line_items"
];
NSInteger
lineItemCount
=
unfulfilledLineItems
.
count
+
fulfilledLineItems
.
count
;
BUYOrder
*
order
=
self
.
orders
[
idx
];
XCTAssertEqual
(
order
.
lineItems
.
count
,
lineItemCount
);
}];
}
@end
Mobile Buy SDK/Mobile Buy SDK Tests/orders.json
0 → 100644
View file @
fd5cdbb8
{
orders
=
(
{
"billing_address"
=
"<null>"
;
"cancel_reason"
=
"<null>"
;
cancelled
=
0
;
"cancelled_at"
=
"<null>"
;
"customer_url"
=
"http://greats-clone.myshopify.com/account/orders/1695e53d1444e62f1d454e8113f76a4a"
;
"discounts_savings"
=
"<null>"
;
"financial_status"
=
paid;
"fulfilled_line_items"
=
(
);
"fulfillment_aborted"
=
0
;
"fulfillment_status"
=
unfulfilled;
id
=
2457117894
;
name
=
"#1048"
;
"order_number"
=
1048
;
"order_status_url"
=
"<null>"
;
"payment_details"
=
"<null>"
;
"payment_methods"
=
(
{
amount
=
"49.00"
;
authorization
=
"<null>"
;
"created_at"
=
"2016-02-17T14:02:21-05:00"
;
currency
=
CAD;
"device_id"
=
"<null>"
;
"error_code"
=
"<null>"
;
gateway
=
"Cash on Delivery (COD)"
;
id
=
2626153222
;
kind
=
sale;
"location_id"
=
"<null>"
;
message
=
"Marked the Cash on Delivery (COD) payment as received"
;
"order_id"
=
2457117894
;
"parent_id"
=
"<null>"
;
receipt
=
{
}
;
"source_name"
=
"shopify_draft_order"
;
status
=
success;
test
=
0
;
"user_id"
=
"<null>"
;
}
);
"processed_at"
=
"2016-02-17T14:02:21-05:00"
;
refunds
=
(
);
"shipping_address"
=
"<null>"
;
"shipping_methods"
=
(
);
"unfulfilled_line_items"
=
(
{
"applied_discounts"
=
(
);
"compare_at_price"
=
"<null>"
;
"fulfillment_service"
=
manual;
grams
=
907
;
id
=
4286111430
;
"line_price"
=
"49.00"
;
price
=
"49.00"
;
"product_id"
=
3329986435
;
properties
=
{
}
;
quantity
=
1
;
"requires_shipping"
=
1
;
sku
=
BLBJ
420
;
taxable
=
1
;
title
=
"Bab Low - Blue Jay // White Sole -FB"
;
"variant_id"
=
9687610627
;
"variant_title"
=
9
;
vendor
=
Greats;
}
);
},
{
"billing_address"
=
"<null>"
;
"cancel_reason"
=
"<null>"
;
cancelled
=
0
;
"cancelled_at"
=
"<null>"
;
"customer_url"
=
"http://greats-clone.myshopify.com/account/orders/1eab1c363d5450b560dcd096df9abc2c"
;
"discounts_savings"
=
"<null>"
;
"financial_status"
=
paid;
"fulfilled_line_items"
=
(
);
"fulfillment_aborted"
=
0
;
"fulfillment_status"
=
unfulfilled;
id
=
2456988806
;
name
=
"#1047"
;
"order_number"
=
1047
;
"order_status_url"
=
"<null>"
;
"payment_details"
=
"<null>"
;
"payment_methods"
=
(
{
amount
=
"326.00"
;
authorization
=
"<null>"
;
"created_at"
=
"2016-02-17T13:31:38-05:00"
;
currency
=
CAD;
"device_id"
=
"<null>"
;
"error_code"
=
"<null>"
;
gateway
=
"Cash on Delivery (COD)"
;
id
=
2625993094
;
kind
=
sale;
"location_id"
=
"<null>"
;
message
=
"Marked the Cash on Delivery (COD) payment as received"
;
"order_id"
=
2456988806
;
"parent_id"
=
"<null>"
;
receipt
=
{
}
;
"source_name"
=
"shopify_draft_order"
;
status
=
success;
test
=
0
;
"user_id"
=
"<null>"
;
}
);
"processed_at"
=
"2016-02-17T13:31:38-05:00"
;
refunds
=
(
);
"shipping_address"
=
"<null>"
;
"shipping_methods"
=
(
);
"unfulfilled_line_items"
=
(
{
"applied_discounts"
=
(
);
"compare_at_price"
=
"<null>"
;
"fulfillment_service"
=
manual;
grams
=
907
;
id
=
4285887686
;
"line_price"
=
"78.00"
;
price
=
"39.00"
;
"product_id"
=
3330051395
;
properties
=
{
}
;
quantity
=
2
;
"requires_shipping"
=
1
;
sku
=
BLBJ
430
;
taxable
=
1
;
title
=
"Bab Low - Blue Jay // White Sole"
;
"variant_id"
=
9687849283
;
"variant_title"
=
10
;
vendor
=
Greats;
},
{
"applied_discounts"
=
(
);
"compare_at_price"
=
"<null>"
;
"fulfillment_service"
=
manual;
grams
=
907
;
id
=
4285887750
;
"line_price"
=
"49.00"
;
price
=
"49.00"
;
"product_id"
=
3330049347
;
properties
=
{
}
;
quantity
=
1
;
"requires_shipping"
=
1
;
sku
=
BLCW
440
;
taxable
=
1
;
title
=
"Bab Low - Clay // White Sole"
;
"variant_id"
=
9687834243
;
"variant_title"
=
"11 / Clay"
;
vendor
=
Greats;
},
{
"applied_discounts"
=
(
);
"compare_at_price"
=
"<null>"
;
"fulfillment_service"
=
manual;
grams
=
907
;
id
=
4285887814
;
"line_price"
=
"199.00"
;
price
=
"199.00"
;
"product_id"
=
3329903235
;
properties
=
{
}
;
quantity
=
1
;
"requires_shipping"
=
1
;
sku
=
PRCM
430
;
taxable
=
1
;
title
=
"The Pronto - Camo"
;
"variant_id"
=
9687361283
;
"variant_title"
=
10
;
vendor
=
Greats;
}
);
}
);
}
Mobile Buy SDK/Mobile Buy SDK.xcodeproj/project.pbxproj
View file @
fd5cdbb8
...
@@ -135,9 +135,14 @@
...
@@ -135,9 +135,14 @@
8498DCBD1CDD1FA400BD12A8
/* BUYAccountCredentials.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8498DCBA1CDD1FA400BD12A8
/* BUYAccountCredentials.m */
;
};
8498DCBD1CDD1FA400BD12A8
/* BUYAccountCredentials.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8498DCBA1CDD1FA400BD12A8
/* BUYAccountCredentials.m */
;
};
8498DCBE1CDD1FA400BD12A8
/* BUYAccountCredentials.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8498DCBA1CDD1FA400BD12A8
/* BUYAccountCredentials.m */
;
};
8498DCBE1CDD1FA400BD12A8
/* BUYAccountCredentials.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8498DCBA1CDD1FA400BD12A8
/* BUYAccountCredentials.m */
;
};
8498DCC91CDD208200BD12A8
/* BUYClientTest_Customer.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8498DCBF1CDD208200BD12A8
/* BUYClientTest_Customer.m */
;
};
8498DCC91CDD208200BD12A8
/* BUYClientTest_Customer.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8498DCBF1CDD208200BD12A8
/* BUYClientTest_Customer.m */
;
};
8498DCCA1CDD208200BD12A8
/* BUYCollectionTests.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8498DCC01CDD208200BD12A8
/* BUYCollectionTests.m */
;
};
8498DCCB1CDD208200BD12A8
/* BUYCoreDataModelAdditionsTests.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8498DCC11CDD208200BD12A8
/* BUYCoreDataModelAdditionsTests.m */
;
};
8498DCCB1CDD208200BD12A8
/* BUYCoreDataModelAdditionsTests.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8498DCC11CDD208200BD12A8
/* BUYCoreDataModelAdditionsTests.m */
;
};
8498DCCC1CDD208200BD12A8
/* BUYCustomerTests.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8498DCC21CDD208200BD12A8
/* BUYCustomerTests.m */
;
};
8498DCCD1CDD208200BD12A8
/* BUYModelManagerTests.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8498DCC31CDD208200BD12A8
/* BUYModelManagerTests.m */
;
};
8498DCCE1CDD208200BD12A8
/* BUYOrderTests.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8498DCC41CDD208200BD12A8
/* BUYOrderTests.m */
;
};
8498DCCF1CDD208200BD12A8
/* BUYTestModel.xcdatamodeld in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8498DCC51CDD208200BD12A8
/* BUYTestModel.xcdatamodeld */
;
};
8498DCCF1CDD208200BD12A8
/* BUYTestModel.xcdatamodeld in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8498DCC51CDD208200BD12A8
/* BUYTestModel.xcdatamodeld */
;
};
8498DCD01CDD208200BD12A8
/* TestModel.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8498DCC81CDD208200BD12A8
/* TestModel.m */
;
};
8498DCD01CDD208200BD12A8
/* TestModel.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8498DCC81CDD208200BD12A8
/* TestModel.m */
;
};
84B0A71E1CDD253A00253EB0
/* orders.json in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84B0A71D1CDD253A00253EB0
/* orders.json */
;
};
84B0A7201CDD261100253EB0
/* BUYSerializable.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84B0A71F1CDD261100253EB0
/* BUYSerializable.m */
;
};
84B0A7201CDD261100253EB0
/* BUYSerializable.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84B0A71F1CDD261100253EB0
/* BUYSerializable.m */
;
};
84B0A7211CDD261100253EB0
/* BUYSerializable.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84B0A71F1CDD261100253EB0
/* BUYSerializable.m */
;
};
84B0A7211CDD261100253EB0
/* BUYSerializable.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84B0A71F1CDD261100253EB0
/* BUYSerializable.m */
;
};
84CD7C2D1CC65D5A00B6EE61
/* _BUYCheckoutAttribute.h in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84CD7C2B1CC65D5500B6EE61
/* _BUYCheckoutAttribute.h */
;
settings
=
{
ATTRIBUTES
=
(
Public
,
);
};
};
84CD7C2D1CC65D5A00B6EE61
/* _BUYCheckoutAttribute.h in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84CD7C2B1CC65D5500B6EE61
/* _BUYCheckoutAttribute.h */
;
settings
=
{
ATTRIBUTES
=
(
Public
,
);
};
};
...
@@ -579,10 +584,15 @@
...
@@ -579,10 +584,15 @@
8498DCB91CDD1FA400BD12A8
/* BUYAccountCredentials.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
BUYAccountCredentials.h
;
sourceTree
=
"<group>"
;
};
8498DCB91CDD1FA400BD12A8
/* BUYAccountCredentials.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
BUYAccountCredentials.h
;
sourceTree
=
"<group>"
;
};
8498DCBA1CDD1FA400BD12A8
/* BUYAccountCredentials.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
BUYAccountCredentials.m
;
sourceTree
=
"<group>"
;
};
8498DCBA1CDD1FA400BD12A8
/* BUYAccountCredentials.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
BUYAccountCredentials.m
;
sourceTree
=
"<group>"
;
};
8498DCBF1CDD208200BD12A8
/* BUYClientTest_Customer.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
BUYClientTest_Customer.m
;
sourceTree
=
"<group>"
;
};
8498DCBF1CDD208200BD12A8
/* BUYClientTest_Customer.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
BUYClientTest_Customer.m
;
sourceTree
=
"<group>"
;
};
8498DCC01CDD208200BD12A8
/* BUYCollectionTests.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
BUYCollectionTests.m
;
sourceTree
=
"<group>"
;
};
8498DCC11CDD208200BD12A8
/* BUYCoreDataModelAdditionsTests.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
BUYCoreDataModelAdditionsTests.m
;
sourceTree
=
"<group>"
;
};
8498DCC11CDD208200BD12A8
/* BUYCoreDataModelAdditionsTests.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
BUYCoreDataModelAdditionsTests.m
;
sourceTree
=
"<group>"
;
};
8498DCC21CDD208200BD12A8
/* BUYCustomerTests.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
BUYCustomerTests.m
;
sourceTree
=
"<group>"
;
};
8498DCC31CDD208200BD12A8
/* BUYModelManagerTests.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
BUYModelManagerTests.m
;
sourceTree
=
"<group>"
;
};
8498DCC41CDD208200BD12A8
/* BUYOrderTests.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
BUYOrderTests.m
;
sourceTree
=
"<group>"
;
};
8498DCC61CDD208200BD12A8
/* BUYTestModel.xcdatamodel */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.xcdatamodel
;
path
=
BUYTestModel.xcdatamodel
;
sourceTree
=
"<group>"
;
};
8498DCC61CDD208200BD12A8
/* BUYTestModel.xcdatamodel */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.xcdatamodel
;
path
=
BUYTestModel.xcdatamodel
;
sourceTree
=
"<group>"
;
};
8498DCC71CDD208200BD12A8
/* TestModel.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
TestModel.h
;
sourceTree
=
"<group>"
;
};
8498DCC71CDD208200BD12A8
/* TestModel.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
TestModel.h
;
sourceTree
=
"<group>"
;
};
8498DCC81CDD208200BD12A8
/* TestModel.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
TestModel.m
;
sourceTree
=
"<group>"
;
};
8498DCC81CDD208200BD12A8
/* TestModel.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
TestModel.m
;
sourceTree
=
"<group>"
;
};
84B0A71D1CDD253A00253EB0
/* orders.json */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
text.json
;
path
=
orders.json
;
sourceTree
=
"<group>"
;
};
84B0A71F1CDD261100253EB0
/* BUYSerializable.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
BUYSerializable.m
;
sourceTree
=
"<group>"
;
};
84B0A71F1CDD261100253EB0
/* BUYSerializable.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
BUYSerializable.m
;
sourceTree
=
"<group>"
;
};
84CD7C2B1CC65D5500B6EE61
/* _BUYCheckoutAttribute.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
_BUYCheckoutAttribute.h
;
sourceTree
=
"<group>"
;
};
84CD7C2B1CC65D5500B6EE61
/* _BUYCheckoutAttribute.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
_BUYCheckoutAttribute.h
;
sourceTree
=
"<group>"
;
};
84CD7C2C1CC65D5500B6EE61
/* _BUYCheckoutAttribute.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
_BUYCheckoutAttribute.m
;
sourceTree
=
"<group>"
;
};
84CD7C2C1CC65D5500B6EE61
/* _BUYCheckoutAttribute.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
_BUYCheckoutAttribute.m
;
sourceTree
=
"<group>"
;
};
...
@@ -1003,14 +1013,18 @@
...
@@ -1003,14 +1013,18 @@
90F592FD1B0D5F4C0026B382
/* BUYClientTest.m */
,
90F592FD1B0D5F4C0026B382
/* BUYClientTest.m */
,
BEB9AE7A1BA866D000575F8A
/* BUYClientTestBase.h */
,
BEB9AE7A1BA866D000575F8A
/* BUYClientTestBase.h */
,
BEB9AE7C1BA8685600575F8A
/* BUYClientTestBase.m */
,
BEB9AE7C1BA8685600575F8A
/* BUYClientTestBase.m */
,
8498DCC01CDD208200BD12A8
/* BUYCollectionTests.m */
,
8498DCC11CDD208200BD12A8
/* BUYCoreDataModelAdditionsTests.m */
,
8498DCC11CDD208200BD12A8
/* BUYCoreDataModelAdditionsTests.m */
,
8498DCC21CDD208200BD12A8
/* BUYCustomerTests.m */
,
849110341CCE70CE00E53B93
/* BUYDictionaryAdditionsTests.m */
,
849110341CCE70CE00E53B93
/* BUYDictionaryAdditionsTests.m */
,
849110391CCE718100E53B93
/* BUYExceptionAdditionsTests.m */
,
849110391CCE718100E53B93
/* BUYExceptionAdditionsTests.m */
,
8491103D1CCE988600E53B93
/* BUYFontAdditionsTests.m */
,
8491103D1CCE988600E53B93
/* BUYFontAdditionsTests.m */
,
90F592F81B0D5F4C0026B382
/* BUYIntegrationTest.m */
,
90F592F81B0D5F4C0026B382
/* BUYIntegrationTest.m */
,
90F592FE1B0D5F4C0026B382
/* BUYLineItemTest.m */
,
90F592FE1B0D5F4C0026B382
/* BUYLineItemTest.m */
,
8498DCC31CDD208200BD12A8
/* BUYModelManagerTests.m */
,
90F592FF1B0D5F4C0026B382
/* BUYObjectTests.m */
,
90F592FF1B0D5F4C0026B382
/* BUYObjectTests.m */
,
849110461CCEA85C00E53B93
/* BUYObserverTests.m */
,
849110461CCEA85C00E53B93
/* BUYObserverTests.m */
,
8498DCC41CDD208200BD12A8
/* BUYOrderTests.m */
,
8491102F1CCE708900E53B93
/* BUYRegularExpressionAdditionsTests.m */
,
8491102F1CCE708900E53B93
/* BUYRegularExpressionAdditionsTests.m */
,
849110301CCE708900E53B93
/* BUYStringAdditionsTests.m */
,
849110301CCE708900E53B93
/* BUYStringAdditionsTests.m */
,
90F593001B0D5F4C0026B382
/* BUYTestConstants.h */
,
90F593001B0D5F4C0026B382
/* BUYTestConstants.h */
,
...
@@ -1020,6 +1034,7 @@
...
@@ -1020,6 +1034,7 @@
BE6C07051BB1E46900BD9F7B
/* mocked_responses.json */
,
BE6C07051BB1E46900BD9F7B
/* mocked_responses.json */
,
BE98DB5A1BB1F4D000C29564
/* OHHTTPStubsResponse+Helpers.h */
,
BE98DB5A1BB1F4D000C29564
/* OHHTTPStubsResponse+Helpers.h */
,
BE98DB5B1BB1F4D000C29564
/* OHHTTPStubsResponse+Helpers.m */
,
BE98DB5B1BB1F4D000C29564
/* OHHTTPStubsResponse+Helpers.m */
,
84B0A71D1CDD253A00253EB0
/* orders.json */
,
906CF1AE1B8B660F001F7D5B
/* PKContact Test Objects */
,
906CF1AE1B8B660F001F7D5B
/* PKContact Test Objects */
,
90F592EE1B0D5EFE0026B382
/* Supporting Files */
,
90F592EE1B0D5EFE0026B382
/* Supporting Files */
,
BEB9AE721BA73E6C00575F8A
/* test_shop_data.json */
,
BEB9AE721BA73E6C00575F8A
/* test_shop_data.json */
,
...
@@ -1244,10 +1259,10 @@
...
@@ -1244,10 +1259,10 @@
isa
=
PBXGroup
;
isa
=
PBXGroup
;
children
=
(
children
=
(
8498DCB01CDD1B4A00BD12A8
/* BUYClient_Internal.h */
,
8498DCB01CDD1B4A00BD12A8
/* BUYClient_Internal.h */
,
8498DCB11CDD1B4A00BD12A8
/* BUYClient+Customers.h */
,
8498DCB21CDD1B4A00BD12A8
/* BUYClient+Customers.m */
,
F7FDA17019C93F6F00AF4E93
/* BUYClient.h */
,
F7FDA17019C93F6F00AF4E93
/* BUYClient.h */
,
F7FDA17119C93F6F00AF4E93
/* BUYClient.m */
,
F7FDA17119C93F6F00AF4E93
/* BUYClient.m */
,
8498DCB11CDD1B4A00BD12A8
/* BUYClient+Customers.h */
,
8498DCB21CDD1B4A00BD12A8
/* BUYClient+Customers.m */
,
);
);
path
=
Data
;
path
=
Data
;
sourceTree
=
"<group>"
;
sourceTree
=
"<group>"
;
...
@@ -1609,6 +1624,7 @@
...
@@ -1609,6 +1624,7 @@
files
=
(
files
=
(
BEB9AE781BA8627B00575F8A
/* test_shop_data.json in Resources */
,
BEB9AE781BA8627B00575F8A
/* test_shop_data.json in Resources */
,
BE98DB4F1BB1ED3E00C29564
/* OHHTTPStubs in Resources */
,
BE98DB4F1BB1ED3E00C29564
/* OHHTTPStubs in Resources */
,
84B0A71E1CDD253A00253EB0
/* orders.json in Resources */
,
BE6C07061BB1E46900BD9F7B
/* mocked_responses.json in Resources */
,
BE6C07061BB1E46900BD9F7B
/* mocked_responses.json in Resources */
,
);
);
runOnlyForDeploymentPostprocessing
=
0
;
runOnlyForDeploymentPostprocessing
=
0
;
...
@@ -1791,8 +1807,11 @@
...
@@ -1791,8 +1807,11 @@
8491103E1CCE988600E53B93
/* BUYFontAdditionsTests.m in Sources */
,
8491103E1CCE988600E53B93
/* BUYFontAdditionsTests.m in Sources */
,
8491103A1CCE718100E53B93
/* BUYExceptionAdditionsTests.m in Sources */
,
8491103A1CCE718100E53B93
/* BUYExceptionAdditionsTests.m in Sources */
,
849110441CCE9F3F00E53B93
/* BUYTransformerTests.m in Sources */
,
849110441CCE9F3F00E53B93
/* BUYTransformerTests.m in Sources */
,
8498DCCC1CDD208200BD12A8
/* BUYCustomerTests.m in Sources */
,
8498DCCE1CDD208200BD12A8
/* BUYOrderTests.m in Sources */
,
849110351CCE70CE00E53B93
/* BUYDictionaryAdditionsTests.m in Sources */
,
849110351CCE70CE00E53B93
/* BUYDictionaryAdditionsTests.m in Sources */
,
90F5930A1B0D5F4C0026B382
/* BUYLineItemTest.m in Sources */
,
90F5930A1B0D5F4C0026B382
/* BUYLineItemTest.m in Sources */
,
8498DCCA1CDD208200BD12A8
/* BUYCollectionTests.m in Sources */
,
849110321CCE708900E53B93
/* BUYRegularExpressionAdditionsTests.m in Sources */
,
849110321CCE708900E53B93
/* BUYRegularExpressionAdditionsTests.m in Sources */
,
90F593061B0D5F4C0026B382
/* BUYCartTest.m in Sources */
,
90F593061B0D5F4C0026B382
/* BUYCartTest.m in Sources */
,
90F593051B0D5F4C0026B382
/* BUYApplePayAdditionsTest.m in Sources */
,
90F593051B0D5F4C0026B382
/* BUYApplePayAdditionsTest.m in Sources */
,
...
@@ -1810,6 +1829,7 @@
...
@@ -1810,6 +1829,7 @@
8491104A1CCEA85C00E53B93
/* BUYObserverTests.m in Sources */
,
8491104A1CCEA85C00E53B93
/* BUYObserverTests.m in Sources */
,
8498DCCB1CDD208200BD12A8
/* BUYCoreDataModelAdditionsTests.m in Sources */
,
8498DCCB1CDD208200BD12A8
/* BUYCoreDataModelAdditionsTests.m in Sources */
,
906CF1AD1B8B5F7D001F7D5B
/* BUYNSPersonNameComponents.m in Sources */
,
906CF1AD1B8B5F7D001F7D5B
/* BUYNSPersonNameComponents.m in Sources */
,
8498DCCD1CDD208200BD12A8
/* BUYModelManagerTests.m in Sources */
,
BE98DB5C1BB1F4D000C29564
/* OHHTTPStubsResponse+Helpers.m in Sources */
,
BE98DB5C1BB1F4D000C29564
/* OHHTTPStubsResponse+Helpers.m in Sources */
,
849110311CCE708900E53B93
/* BUYArrayAdditionsTests.m in Sources */
,
849110311CCE708900E53B93
/* BUYArrayAdditionsTests.m in Sources */
,
8498DCCF1CDD208200BD12A8
/* BUYTestModel.xcdatamodeld in Sources */
,
8498DCCF1CDD208200BD12A8
/* BUYTestModel.xcdatamodeld in Sources */
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment