trphoenix
2018-10-30 f2dafcc61407aef960ee17b576794b1260e84a08
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import 'dart:convert';
import 'package:test/test.dart';
import '../lib/redux_remote_devtools.dart';
 
class TestState {
  int value;
  TestState({this.value});
  toJson() {
    return {'value': this.value};
  }
}
 
class TestUnencodableState {
  int value;
  TestUnencodableState({this.value});
}
 
enum EnumActions { SimpleEnumAction }
 
void main() {
  group('JsonStateEncoder', () {
    group('encode', () {
      test('Returns a jsonified state', () {
        var encoder = new JsonStateEncoder();
        var result = encoder.encode(new TestState(value: 5));
        var decoded = jsonDecode(result);
        expect(decoded['value'], equals(5));
      });
      test('Throws an exception if unencodable', () {
        var encoder = new JsonStateEncoder();
        var testFunc = () {
          encoder.encode(new TestUnencodableState(value: 5));
        };
        expect(testFunc, throwsA(TypeMatcher<JsonUnsupportedObjectError>()));
      });
    });
  });
}