Commit fd5cdbb8 by Brent Gulanowski

Add new tests.

parent 3ab827c2
//
// 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
//
// 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
//
// 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
//
// 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
{
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 = BLBJ420;
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 = BLBJ430;
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 = BLCW440;
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 = PRCM430;
taxable = 1;
title = "The Pronto - Camo";
"variant_id" = 9687361283;
"variant_title" = 10;
vendor = Greats;
}
);
}
);
}
......@@ -135,9 +135,14 @@
8498DCBD1CDD1FA400BD12A8 /* 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 */; };
8498DCCA1CDD208200BD12A8 /* BUYCollectionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8498DCC01CDD208200BD12A8 /* BUYCollectionTests.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 */; };
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 */; };
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, ); }; };
......@@ -579,10 +584,15 @@
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>"; };
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>"; };
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>"; };
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>"; };
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>"; };
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>"; };
......@@ -1003,14 +1013,18 @@
90F592FD1B0D5F4C0026B382 /* BUYClientTest.m */,
BEB9AE7A1BA866D000575F8A /* BUYClientTestBase.h */,
BEB9AE7C1BA8685600575F8A /* BUYClientTestBase.m */,
8498DCC01CDD208200BD12A8 /* BUYCollectionTests.m */,
8498DCC11CDD208200BD12A8 /* BUYCoreDataModelAdditionsTests.m */,
8498DCC21CDD208200BD12A8 /* BUYCustomerTests.m */,
849110341CCE70CE00E53B93 /* BUYDictionaryAdditionsTests.m */,
849110391CCE718100E53B93 /* BUYExceptionAdditionsTests.m */,
8491103D1CCE988600E53B93 /* BUYFontAdditionsTests.m */,
90F592F81B0D5F4C0026B382 /* BUYIntegrationTest.m */,
90F592FE1B0D5F4C0026B382 /* BUYLineItemTest.m */,
8498DCC31CDD208200BD12A8 /* BUYModelManagerTests.m */,
90F592FF1B0D5F4C0026B382 /* BUYObjectTests.m */,
849110461CCEA85C00E53B93 /* BUYObserverTests.m */,
8498DCC41CDD208200BD12A8 /* BUYOrderTests.m */,
8491102F1CCE708900E53B93 /* BUYRegularExpressionAdditionsTests.m */,
849110301CCE708900E53B93 /* BUYStringAdditionsTests.m */,
90F593001B0D5F4C0026B382 /* BUYTestConstants.h */,
......@@ -1020,6 +1034,7 @@
BE6C07051BB1E46900BD9F7B /* mocked_responses.json */,
BE98DB5A1BB1F4D000C29564 /* OHHTTPStubsResponse+Helpers.h */,
BE98DB5B1BB1F4D000C29564 /* OHHTTPStubsResponse+Helpers.m */,
84B0A71D1CDD253A00253EB0 /* orders.json */,
906CF1AE1B8B660F001F7D5B /* PKContact Test Objects */,
90F592EE1B0D5EFE0026B382 /* Supporting Files */,
BEB9AE721BA73E6C00575F8A /* test_shop_data.json */,
......@@ -1244,10 +1259,10 @@
isa = PBXGroup;
children = (
8498DCB01CDD1B4A00BD12A8 /* BUYClient_Internal.h */,
8498DCB11CDD1B4A00BD12A8 /* BUYClient+Customers.h */,
8498DCB21CDD1B4A00BD12A8 /* BUYClient+Customers.m */,
F7FDA17019C93F6F00AF4E93 /* BUYClient.h */,
F7FDA17119C93F6F00AF4E93 /* BUYClient.m */,
8498DCB11CDD1B4A00BD12A8 /* BUYClient+Customers.h */,
8498DCB21CDD1B4A00BD12A8 /* BUYClient+Customers.m */,
);
path = Data;
sourceTree = "<group>";
......@@ -1609,6 +1624,7 @@
files = (
BEB9AE781BA8627B00575F8A /* test_shop_data.json in Resources */,
BE98DB4F1BB1ED3E00C29564 /* OHHTTPStubs in Resources */,
84B0A71E1CDD253A00253EB0 /* orders.json in Resources */,
BE6C07061BB1E46900BD9F7B /* mocked_responses.json in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
......@@ -1791,8 +1807,11 @@
8491103E1CCE988600E53B93 /* BUYFontAdditionsTests.m in Sources */,
8491103A1CCE718100E53B93 /* BUYExceptionAdditionsTests.m in Sources */,
849110441CCE9F3F00E53B93 /* BUYTransformerTests.m in Sources */,
8498DCCC1CDD208200BD12A8 /* BUYCustomerTests.m in Sources */,
8498DCCE1CDD208200BD12A8 /* BUYOrderTests.m in Sources */,
849110351CCE70CE00E53B93 /* BUYDictionaryAdditionsTests.m in Sources */,
90F5930A1B0D5F4C0026B382 /* BUYLineItemTest.m in Sources */,
8498DCCA1CDD208200BD12A8 /* BUYCollectionTests.m in Sources */,
849110321CCE708900E53B93 /* BUYRegularExpressionAdditionsTests.m in Sources */,
90F593061B0D5F4C0026B382 /* BUYCartTest.m in Sources */,
90F593051B0D5F4C0026B382 /* BUYApplePayAdditionsTest.m in Sources */,
......@@ -1810,6 +1829,7 @@
8491104A1CCEA85C00E53B93 /* BUYObserverTests.m in Sources */,
8498DCCB1CDD208200BD12A8 /* BUYCoreDataModelAdditionsTests.m in Sources */,
906CF1AD1B8B5F7D001F7D5B /* BUYNSPersonNameComponents.m in Sources */,
8498DCCD1CDD208200BD12A8 /* BUYModelManagerTests.m in Sources */,
BE98DB5C1BB1F4D000C29564 /* OHHTTPStubsResponse+Helpers.m in Sources */,
849110311CCE708900E53B93 /* BUYArrayAdditionsTests.m in Sources */,
8498DCCF1CDD208200BD12A8 /* BUYTestModel.xcdatamodeld in Sources */,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment