feat(llc): Add enrichUrl endpoint.
Signed-off-by: xsahil03x <[email protected]>
This commit is contained in:
@@ -1,20 +1,7 @@
|
||||
import 'package:mocktail/mocktail.dart';
|
||||
import 'package:stream_chat/src/client/client.dart';
|
||||
import 'package:stream_chat/src/core/api/device_api.dart';
|
||||
import 'package:stream_chat/src/core/api/requests.dart';
|
||||
import 'package:stream_chat/src/core/api/responses.dart';
|
||||
import 'package:stream_chat/src/core/error/error.dart';
|
||||
import 'package:stream_chat/src/core/http/token.dart';
|
||||
import 'package:stream_chat/src/core/models/channel_model.dart';
|
||||
import 'package:stream_chat/src/core/models/event.dart';
|
||||
import 'package:stream_chat/src/core/models/filter.dart';
|
||||
import 'package:stream_chat/src/core/models/message.dart';
|
||||
import 'package:stream_chat/src/core/models/own_user.dart';
|
||||
import 'package:stream_chat/src/core/models/user.dart';
|
||||
import 'package:stream_chat/src/event_type.dart';
|
||||
import 'package:stream_chat/src/ws/connection_status.dart';
|
||||
import 'package:stream_chat/stream_chat.dart';
|
||||
import 'package:test/scaffolding.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
import '../fakes.dart';
|
||||
@@ -2314,6 +2301,33 @@ void main() {
|
||||
verifyNoMoreInteractions(api.message);
|
||||
});
|
||||
|
||||
test('`.enrichUrl`', () async {
|
||||
const url =
|
||||
'https://www.techyourchance.com/finite-state-machine-with-unit-tests-real-world-example';
|
||||
|
||||
when(() => api.general.enrichUrl(url)).thenAnswer(
|
||||
(_) async => OGAttachmentResponse()
|
||||
..type = 'image'
|
||||
..ogScrapeUrl = url
|
||||
..authorName = 'TechYourChance'
|
||||
..title = 'Finite State Machine with Unit Tests: Real World Example',
|
||||
);
|
||||
|
||||
final res = await client.enrichUrl(url);
|
||||
|
||||
expect(res, isNotNull);
|
||||
expect(res.type, 'image');
|
||||
expect(res.ogScrapeUrl, url);
|
||||
expect(res.authorName, 'TechYourChance');
|
||||
expect(
|
||||
res.title,
|
||||
'Finite State Machine with Unit Tests: Real World Example',
|
||||
);
|
||||
|
||||
verify(() => api.general.enrichUrl(url)).called(1);
|
||||
verifyNoMoreInteractions(api.general);
|
||||
});
|
||||
|
||||
test(
|
||||
'''setting the `currentUser` should also compute and update the unreadCounts''',
|
||||
() {
|
||||
|
||||
@@ -3,10 +3,6 @@ import 'dart:convert';
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:mocktail/mocktail.dart';
|
||||
import 'package:stream_chat/src/core/api/general_api.dart';
|
||||
import 'package:stream_chat/src/core/api/requests.dart';
|
||||
import 'package:stream_chat/src/core/models/channel_model.dart';
|
||||
import 'package:stream_chat/src/core/models/event.dart';
|
||||
import 'package:stream_chat/src/core/models/filter.dart';
|
||||
import 'package:stream_chat/stream_chat.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
@@ -281,4 +277,39 @@ void main() {
|
||||
verifyNoMoreInteractions(client);
|
||||
});
|
||||
});
|
||||
|
||||
test('enrichUrl', () async {
|
||||
const path = '/og';
|
||||
const url =
|
||||
'https://www.techyourchance.com/finite-state-machine-with-unit-tests-real-world-example';
|
||||
|
||||
when(() => client.get(
|
||||
path,
|
||||
queryParameters: {'url': url},
|
||||
)).thenAnswer((_) async => successResponse(path, data: {
|
||||
'type': 'image',
|
||||
'og_scrape_url': url,
|
||||
'author_name': 'TechYourChance',
|
||||
'title': 'Finite State Machine with Unit Tests: Real World Example',
|
||||
}));
|
||||
|
||||
final res = await generalApi.enrichUrl(url);
|
||||
|
||||
expect(res, isNotNull);
|
||||
expect(res.type, 'image');
|
||||
expect(res.ogScrapeUrl, url);
|
||||
expect(res.authorName, 'TechYourChance');
|
||||
expect(
|
||||
res.title,
|
||||
'Finite State Machine with Unit Tests: Real World Example',
|
||||
);
|
||||
|
||||
verify(
|
||||
() => client.get(
|
||||
path,
|
||||
queryParameters: {'url': url},
|
||||
),
|
||||
).called(1);
|
||||
verifyNoMoreInteractions(client);
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user