mirror of
https://github.com/status-im/react-native-testfairy.git
synced 2025-02-24 08:08:09 +00:00
135 lines
3.2 KiB
Objective-C
135 lines
3.2 KiB
Objective-C
#import "RCTTestFairyBridge.h"
|
|
#import <React/RCTConvert.h>
|
|
#import <React/RCTLog.h>
|
|
#import <React/RCTUIManager.h>
|
|
#import "TestFairy.h"
|
|
|
|
@implementation RCTTestFairyBridge
|
|
|
|
@synthesize bridge = _bridge;
|
|
|
|
RCT_EXPORT_MODULE();
|
|
|
|
RCT_EXPORT_METHOD(begin:(NSString *)appKey withOptions:(NSDictionary *)options) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
[TestFairy begin:appKey withOptions:options];
|
|
});
|
|
}
|
|
|
|
RCT_EXPORT_METHOD(setCorrelationId:(NSString *)correlationId) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
[TestFairy setCorrelationId:correlationId];
|
|
});
|
|
}
|
|
|
|
RCT_EXPORT_METHOD(identify:(NSString *)correlationId traits:(NSDictionary *)traits) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
[TestFairy identify:correlationId traits:traits];
|
|
});
|
|
}
|
|
|
|
RCT_EXPORT_METHOD(takeScreenshot) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
[TestFairy takeScreenshot];
|
|
});
|
|
}
|
|
|
|
RCT_EXPORT_METHOD(pause) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
[TestFairy pause];
|
|
});
|
|
}
|
|
|
|
RCT_EXPORT_METHOD(resume) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
[TestFairy resume];
|
|
});
|
|
}
|
|
|
|
RCT_EXPORT_METHOD(checkpoint:(NSString *)name) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
[TestFairy checkpoint:name];
|
|
});
|
|
}
|
|
|
|
RCT_EXPORT_METHOD(sendUserFeedback:(NSString *)feedback) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
[TestFairy sendUserFeedback:feedback];
|
|
});
|
|
}
|
|
|
|
RCT_EXPORT_METHOD(sessionUrl:(RCTResponseSenderBlock)callback) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
callback(@[[NSNull null], [TestFairy sessionUrl]]);
|
|
});
|
|
}
|
|
|
|
RCT_EXPORT_METHOD(version:(RCTResponseSenderBlock)callback) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
callback(@[[NSNull null], [TestFairy version]]);
|
|
});
|
|
}
|
|
|
|
RCT_EXPORT_METHOD(setServerEndpoint:(NSString *)url) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
[TestFairy setServerEndpoint:url];
|
|
});
|
|
}
|
|
|
|
RCT_EXPORT_METHOD(log:(NSString *)message) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
TFLog(@"%@", message);
|
|
});
|
|
}
|
|
|
|
RCT_EXPORT_METHOD(setScreenName:(NSString *)name) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
[TestFairy setScreenName:name];
|
|
});
|
|
}
|
|
|
|
RCT_EXPORT_METHOD(stop) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
[TestFairy stop];
|
|
});
|
|
}
|
|
|
|
RCT_EXPORT_METHOD(pushFeedbackController) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
[TestFairy pushFeedbackController];
|
|
});
|
|
}
|
|
|
|
RCT_EXPORT_METHOD(setUserId:(NSString *)userId) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
[TestFairy setUserId:userId];
|
|
});
|
|
}
|
|
|
|
RCT_EXPORT_METHOD(hideWebViewElements:(NSString *)cssSelector) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
[TestFairy hideWebViewElements:cssSelector];
|
|
});
|
|
}
|
|
|
|
RCT_EXPORT_METHOD(setAttribute:(NSString *)key value:(NSString *)value) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
[TestFairy setAttribute:key withValue:value];
|
|
});
|
|
}
|
|
|
|
RCT_EXPORT_METHOD(hideView:(nonnull NSNumber *)reactTag) {
|
|
dispatch_async(_bridge.uiManager.methodQueue, ^{
|
|
[_bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
__block UIView *view = viewRegistry[reactTag];
|
|
if (view != nil) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
[TestFairy hideView:view];
|
|
});
|
|
}
|
|
}];
|
|
});
|
|
}
|
|
|
|
@end
|