initial commit with cache support & example

This commit is contained in:
Kingkor Roy Tirtho
2022-02-07 00:11:15 +06:00
commit c7169b04c7
65 changed files with 7155 additions and 0 deletions
@@ -0,0 +1,51 @@
import 'package:gql/ast.dart';
import 'package:gql/language.dart';
import 'package:fl_query/fl_query.dart';
import 'package:test/test.dart';
void main() {
group('query options', () {
group('type getters', () {
test('on QueryOptions', () {
final options = QueryOptions(
document: parseString('query { bar }'),
);
expect(options.type, equals(OperationType.query));
expect(options.isQuery, equals(true));
});
test('on MutationOptions', () {
final options = MutationOptions(
document: parseString('mutation { bar }'),
);
expect(options.type, equals(OperationType.mutation));
expect(options.isMutation, equals(true));
});
test('on SubscriptionOptions', () {
final options = SubscriptionOptions(
document: parseString('subscription { bar }'),
);
expect(options.type, equals(OperationType.subscription));
expect(options.isSubscription, equals(true));
});
});
group('gql integration', () {
test('Options.asRequest', () {
final options = QueryOptions(
document: parseString('query { bar }'),
variables: {
'foo': {
'biz': 'bar',
'bam': [1]
}
},
context: Context.fromList([
HttpLinkHeaders(headers: {'my': 'header'})
]));
final req = options.asRequest;
expect(options.document, equals(req.operation.document));
expect(options.variables, equals(req.variables));
expect(options.context, equals(req.context));
});
});
});
}