// This is a basic Flutter widget test.
//
// To perform an interaction with a widget in your test, use the WidgetTester
// utility in the flutter_test package. For example, you can send tap and scroll
// gestures. You can also use WidgetTester to find child widgets in the widget
// tree, read text, and verify that the values of widget properties are correct.

import 'package:fis_jsonrpc/rpc.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:vitalapp/architecture/utils/sensitive.dart';

void main() {
  testWidgets('Counter increments smoke test', (WidgetTester tester) async {
    // Build our app and trigger a frame.
  });

  test("Sensitive", () {
    print(SensitiveUtils.desensitizeChineseName("管欣溢"));
    print(SensitiveUtils.desensitizeIdCard("320506200010102222"));
    print(SensitiveUtils.desensitizeAddress("江苏省苏州市吴中区长桥街道迎春路2号"));
    print(SensitiveUtils.desensitizeAddress("江苏省苏州市常熟市虞山镇珠江路2号"));
  });

  test("PatientDtoConvert", () {
    final createReq = CreatePatientRequest();
    final createReqJson = createReq.toJson();
    print("createReqJson!");
    print(createReqJson);

    // final patientDto = PatientDTO.fromJson(createReqJson);
    final patientDto = PatientDTO();
    final patientDtoJson = patientDto.toJson();
    print("patientDtoJson!");
    print(patientDtoJson);

    final reCreateReq = CreatePatientRequest.fromJson(patientDtoJson);
    final reCreateReqJson = reCreateReq.toJson();
    print("reCreateReqJson!");
    print(reCreateReqJson);

    final updateReq = UpdatePatientRequest.fromJson(patientDtoJson);
    final updateReqJson = updateReq.toJson();
    print("updateReqJson!");
    print(updateReqJson);
  });

  test("PatientExtDtoConvert", () {
    final createReq = CreatePatientExtensionRequest();
    final createReqJson = createReq.toJson();
    print("createReqJson!");
    print(createReqJson);

    // final patientDto = PatientDTO.fromJson(createReqJson);
    final patientDto = PatientDTO();
    final patientDtoJson = patientDto.toJson();
    print("patientDtoJson!");
    print(patientDtoJson);

    final reCreateReq = CreatePatientExtensionRequest.fromJson(patientDtoJson);
    final reCreateReqJson = reCreateReq.toJson();
    print("reCreateReqJson!");
    print(reCreateReqJson);

    final updateReq = CreatePatientRequest.fromJson(patientDtoJson);
    final updateReqJson = updateReq.toJson();
    print("updateReqJson!");
    print(updateReqJson);
  });
}
