chore(llc): add tests
This commit is contained in:
@@ -499,7 +499,7 @@ class OGAttachmentResponse extends _BaseResponse {
|
||||
}
|
||||
|
||||
/// Payload for Agora call.
|
||||
@JsonSerializable()
|
||||
@JsonSerializable(createToJson: false)
|
||||
class AgoraPayload {
|
||||
/// Create a new instance.
|
||||
const AgoraPayload({required this.channel});
|
||||
@@ -510,13 +510,10 @@ class AgoraPayload {
|
||||
|
||||
/// The Agora channel.
|
||||
final String channel;
|
||||
|
||||
/// Convert this object to a json.
|
||||
Map<String, dynamic> toJson() => _$AgoraPayloadToJson(this);
|
||||
}
|
||||
|
||||
/// Model containing the information about a call.
|
||||
@JsonSerializable()
|
||||
@JsonSerializable(createToJson: false)
|
||||
class CallPayload extends Equatable {
|
||||
/// Create a new instance.
|
||||
const CallPayload({
|
||||
@@ -542,61 +539,40 @@ class CallPayload extends Equatable {
|
||||
/// The payload specific to 100ms.
|
||||
final HMSPayload? hms;
|
||||
|
||||
/// Convert this object to a json.
|
||||
Map<String, dynamic> toJson() => _$CallPayloadToJson(this);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [id, provider, agora, hms];
|
||||
}
|
||||
|
||||
/// The response to [CallApi.getCallToken]
|
||||
@JsonSerializable()
|
||||
class CallTokenPayload extends Equatable {
|
||||
/// Create a new instance.
|
||||
const CallTokenPayload({required this.token, this.agoraUid, this.agoraAppId});
|
||||
|
||||
@JsonSerializable(createToJson: false)
|
||||
class CallTokenPayload extends _BaseResponse {
|
||||
/// Create a new instance from a [json].
|
||||
factory CallTokenPayload.fromJson(Map<String, dynamic> json) =>
|
||||
static CallTokenPayload fromJson(Map<String, dynamic> json) =>
|
||||
_$CallTokenPayloadFromJson(json);
|
||||
|
||||
/// The token to use for the call.
|
||||
final String token;
|
||||
String? token;
|
||||
|
||||
/// The uid specific to Agora.
|
||||
final int? agoraUid;
|
||||
/// The user id specific to Agora.
|
||||
int? agoraUid;
|
||||
|
||||
/// The appId specific to 100ms.
|
||||
final String? agoraAppId;
|
||||
|
||||
/// Convert this object to a json.
|
||||
Map<String, dynamic> toJson() => _$CallTokenPayloadToJson(this);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [token, agoraAppId, agoraUid];
|
||||
/// The appId specific to Agora.
|
||||
String? agoraAppId;
|
||||
}
|
||||
|
||||
/// The response to [CallApi.createCall]
|
||||
@JsonSerializable()
|
||||
class CreateCallPayload extends Equatable {
|
||||
/// Creates a new instance.
|
||||
const CreateCallPayload({required this.call});
|
||||
|
||||
@JsonSerializable(createToJson: false)
|
||||
class CreateCallPayload extends _BaseResponse {
|
||||
/// Create a new instance from a [json].
|
||||
factory CreateCallPayload.fromJson(Map<String, dynamic> json) =>
|
||||
static CreateCallPayload fromJson(Map<String, dynamic> json) =>
|
||||
_$CreateCallPayloadFromJson(json);
|
||||
|
||||
/// The call object.
|
||||
final CallPayload call;
|
||||
|
||||
/// Convert this object to a json.
|
||||
Map<String, dynamic> toJson() => _$CreateCallPayloadToJson(this);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [call];
|
||||
CallPayload? call;
|
||||
}
|
||||
|
||||
/// Payload for 100ms call.
|
||||
@JsonSerializable()
|
||||
@JsonSerializable(createToJson: false)
|
||||
class HMSPayload extends Equatable {
|
||||
/// Create a new instance.
|
||||
const HMSPayload({required this.roomId, required this.roomName});
|
||||
@@ -611,9 +587,6 @@ class HMSPayload extends Equatable {
|
||||
/// The name of the 100ms room.
|
||||
final String roomName;
|
||||
|
||||
/// Convert this object to a json.
|
||||
Map<String, dynamic> toJson() => _$HMSPayloadToJson(this);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [roomId, roomName];
|
||||
}
|
||||
|
||||
@@ -302,11 +302,6 @@ AgoraPayload _$AgoraPayloadFromJson(Map<String, dynamic> json) => AgoraPayload(
|
||||
channel: json['channel'] as String,
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$AgoraPayloadToJson(AgoraPayload instance) =>
|
||||
<String, dynamic>{
|
||||
'channel': instance.channel,
|
||||
};
|
||||
|
||||
CallPayload _$CallPayloadFromJson(Map<String, dynamic> json) => CallPayload(
|
||||
id: json['id'] as String,
|
||||
provider: json['provider'] as String,
|
||||
@@ -318,45 +313,21 @@ CallPayload _$CallPayloadFromJson(Map<String, dynamic> json) => CallPayload(
|
||||
: HMSPayload.fromJson(json['hms'] as Map<String, dynamic>),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$CallPayloadToJson(CallPayload instance) =>
|
||||
<String, dynamic>{
|
||||
'id': instance.id,
|
||||
'provider': instance.provider,
|
||||
'agora': instance.agora?.toJson(),
|
||||
'hms': instance.hms?.toJson(),
|
||||
};
|
||||
|
||||
CallTokenPayload _$CallTokenPayloadFromJson(Map<String, dynamic> json) =>
|
||||
CallTokenPayload(
|
||||
token: json['token'] as String,
|
||||
agoraUid: json['agora_uid'] as int?,
|
||||
agoraAppId: json['agora_app_id'] as String?,
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$CallTokenPayloadToJson(CallTokenPayload instance) =>
|
||||
<String, dynamic>{
|
||||
'token': instance.token,
|
||||
'agora_uid': instance.agoraUid,
|
||||
'agora_app_id': instance.agoraAppId,
|
||||
};
|
||||
CallTokenPayload()
|
||||
..duration = json['duration'] as String?
|
||||
..token = json['token'] as String?
|
||||
..agoraUid = json['agora_uid'] as int?
|
||||
..agoraAppId = json['agora_app_id'] as String?;
|
||||
|
||||
CreateCallPayload _$CreateCallPayloadFromJson(Map<String, dynamic> json) =>
|
||||
CreateCallPayload(
|
||||
call: CallPayload.fromJson(json['call'] as Map<String, dynamic>),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$CreateCallPayloadToJson(CreateCallPayload instance) =>
|
||||
<String, dynamic>{
|
||||
'call': instance.call.toJson(),
|
||||
};
|
||||
CreateCallPayload()
|
||||
..duration = json['duration'] as String?
|
||||
..call = json['call'] == null
|
||||
? null
|
||||
: CallPayload.fromJson(json['call'] as Map<String, dynamic>);
|
||||
|
||||
HMSPayload _$HMSPayloadFromJson(Map<String, dynamic> json) => HMSPayload(
|
||||
roomId: json['room_id'] as String,
|
||||
roomName: json['room_name'] as String,
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$HMSPayloadToJson(HMSPayload instance) =>
|
||||
<String, dynamic>{
|
||||
'room_id': instance.roomId,
|
||||
'room_name': instance.roomName,
|
||||
};
|
||||
|
||||
@@ -4340,5 +4340,63 @@ void main() {
|
||||
expect(response.members, isA<List<Member>>());
|
||||
expect(response.message, isA<Message>());
|
||||
});
|
||||
|
||||
test('AgoraPayload', () {
|
||||
const jsonExample = '''
|
||||
{"channel":"test"}
|
||||
''';
|
||||
final response = AgoraPayload.fromJson(json.decode(jsonExample));
|
||||
expect(response.channel, isA<String>());
|
||||
});
|
||||
|
||||
test('CallPayload', () {
|
||||
const jsonExample = '''
|
||||
{"id":"test",
|
||||
"provider": "test",
|
||||
"agora": {"channel":"test"},
|
||||
"hms":{"room_id":"test", "room_name":"test"}
|
||||
}
|
||||
''';
|
||||
final response = CallPayload.fromJson(json.decode(jsonExample));
|
||||
expect(response.agora, isA<AgoraPayload>());
|
||||
expect(response.hms, isA<HMSPayload>());
|
||||
expect(response.id, isA<String>());
|
||||
expect(response.provider, isA<String>());
|
||||
});
|
||||
});
|
||||
|
||||
test('CallTokenPayload', () {
|
||||
const jsonExample = '''
|
||||
{"duration": "3ms",
|
||||
"agora_app_id":"test",
|
||||
"agora_uid": 12,
|
||||
"token": "token"}
|
||||
''';
|
||||
final response = CallTokenPayload.fromJson(json.decode(jsonExample));
|
||||
expect(response.agoraAppId, isA<String>());
|
||||
expect(response.agoraUid, isA<int>());
|
||||
expect(response.token, isA<String>());
|
||||
});
|
||||
|
||||
test('CreateCallPayload', () {
|
||||
const jsonExample = '''
|
||||
{"call":
|
||||
{"id":"test",
|
||||
"provider": "test",
|
||||
"agora": {"channel":"test"},
|
||||
"hms":{"room_id":"test", "room_name":"test"}
|
||||
}}
|
||||
''';
|
||||
final response = CreateCallPayload.fromJson(json.decode(jsonExample));
|
||||
expect(response.call, isA<CallPayload>());
|
||||
});
|
||||
|
||||
test('HMSPayload', () {
|
||||
const jsonExample = '''
|
||||
{"room_id":"test", "room_name":"test"}
|
||||
''';
|
||||
final response = HMSPayload.fromJson(json.decode(jsonExample));
|
||||
expect(response.roomId, isA<String>());
|
||||
expect(response.roomName, isA<String>());
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user