Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 4 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,27 +13,15 @@ Three parts of a good unit test are:
- **Verify** - Assert the results of **act** either by checking outputs or
expecting interactions with other entities.

Riverpod's core unit test offering makes the above cumbersome and error-prone when
using Notifiers. That's where this package comes in, it attempts to be a solution
to generate Mockito mocks of Riverpod Notifiers in a way that allows for...
Riverpod's core unit test offering doesn't include complete utilities for
mocking Notifiers. That's where this package comes in, it attempts to be a
solution to generate Mockito mocks of Riverpod Notifiers in a way that allows
for...

- Stubbing
- Argument matchers
- Verifications

## How do I install it?

Flutter’s pub package manager supports dependencies sourced directly from Git repos in the following manner.

```
dependencies:
some_dependency:
git:
url: git@github.com:Apadmi-Engineering/Mirage.git
tag_pattern: v{{version}}
version: ^1.0.0
```

## How do I use it?

The central aim of this package is that usage is similar to that of Mockito.
Expand Down
2 changes: 1 addition & 1 deletion build.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
builders:
mirageBuilder:
import: "package:mirage/src/builder.dart"
import: "package:mirage_generator/src/builder.dart"
builder_factories: ["buildMirages"]
build_extensions: {".dart": [".mirage.dart", ".debug.mirage.dart"]}
build_to: source
Expand Down
4 changes: 4 additions & 0 deletions example/analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
include: package:flutter_lints/flutter.yaml

analyzer:
exclude:
- test/**/*.mirage.dart
36 changes: 18 additions & 18 deletions example/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -383,26 +383,26 @@ packages:
dependency: transitive
description:
name: leak_tracker
sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0"
sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de"
url: "https://pub.dev"
source: hosted
version: "10.0.9"
version: "11.0.2"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1"
url: "https://pub.dev"
source: hosted
version: "3.0.9"
version: "3.0.10"
leak_tracker_testing:
dependency: transitive
description:
name: leak_tracker_testing
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1"
url: "https://pub.dev"
source: hosted
version: "3.0.1"
version: "3.0.2"
lints:
dependency: transitive
description:
Expand Down Expand Up @@ -439,10 +439,10 @@ packages:
dependency: transitive
description:
name: meta
sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c
sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394"
url: "https://pub.dev"
source: hosted
version: "1.16.0"
version: "1.17.0"
mime:
dependency: transitive
description:
Expand All @@ -451,13 +451,13 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.0.0"
mirage:
mirage_generator:
dependency: "direct main"
description:
path: ".."
relative: true
source: path
version: "0.4.1"
version: "1.0.0-dev.1"
mockito:
dependency: "direct main"
description:
Expand Down Expand Up @@ -691,26 +691,26 @@ packages:
dependency: "direct main"
description:
name: test
sha256: "301b213cd241ca982e9ba50266bd3f5bd1ea33f1455554c5abb85d1be0e2d87e"
sha256: "75906bf273541b676716d1ca7627a17e4c4070a3a16272b7a3dc7da3b9f3f6b7"
url: "https://pub.dev"
source: hosted
version: "1.25.15"
version: "1.26.3"
test_api:
dependency: transitive
description:
name: test_api
sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55
url: "https://pub.dev"
source: hosted
version: "0.7.4"
version: "0.7.7"
test_core:
dependency: transitive
description:
name: test_core
sha256: "84d17c3486c8dfdbe5e12a50c8ae176d15e2a771b96909a9442b40173649ccaa"
sha256: "0cc24b5ff94b38d2ae73e1eb43cc302b77964fbf67abad1e296025b78deb53d0"
url: "https://pub.dev"
source: hosted
version: "0.6.8"
version: "0.6.12"
timing:
dependency: transitive
description:
Expand Down Expand Up @@ -739,10 +739,10 @@ packages:
dependency: transitive
description:
name: vector_math
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b
url: "https://pub.dev"
source: hosted
version: "2.1.4"
version: "2.2.0"
vm_service:
dependency: transitive
description:
Expand Down
2 changes: 1 addition & 1 deletion example/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ dependencies:
flutter:
sdk: flutter
flutter_riverpod: ^3.0.1
mirage:
mirage_generator:
path: ../
mockito: ^5.4.5
riverpod_annotation: ^3.0.1
Expand Down
3 changes: 1 addition & 2 deletions example/test/unit/notifier/notifier_test.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import 'package:mirage/mirage.dart';
import 'package:mirage_generator/mirage_generator.dart';
import 'package:mirage_example/src/notifiers/notifier/notifier.dart';
import 'package:mockito/mockito.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:test/scaffolding.dart';
import 'package:test/test.dart';

import 'notifier_test.mirage.dart';
Expand Down
File renamed without changes.
6 changes: 3 additions & 3 deletions lib/src/builder.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import 'package:analyzer/dart/element/element2.dart';
import 'package:analyzer/dart/element/type.dart';
import 'package:build/build.dart';
import 'package:code_builder/code_builder.dart';
import 'package:mirage/src/library_validator.dart';
import 'package:mirage/src/models/errors.dart';
import 'package:mirage/src/service_locator.dart';
import 'package:mirage_generator/src/library_validator.dart';
import 'package:mirage_generator/src/models/errors.dart';
import 'package:mirage_generator/src/service_locator.dart';

class MirageBuilder implements Builder {
@override
Expand Down
4 changes: 2 additions & 2 deletions lib/src/code_builders/class_member_copier.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ import 'package:analyzer/dart/analysis/results.dart';
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/element/element2.dart';
import 'package:code_builder/code_builder.dart' hide Expression;
import 'package:mirage/src/util/object_utils.dart';
import 'package:mirage/src/util/symbol_resolver.dart';
import 'package:mirage_generator/src/util/object_utils.dart';
import 'package:mirage_generator/src/util/symbol_resolver.dart';

abstract interface class MemberCopier {
Method? copyGetter(GetterElement element);
Expand Down
2 changes: 1 addition & 1 deletion lib/src/code_builders/classes/class_code_builder.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import 'dart:async';
import 'package:analyzer/dart/element/element2.dart';
import 'package:analyzer/dart/element/type.dart';
import 'package:code_builder/code_builder.dart';
import 'package:mirage/src/models/errors.dart';
import 'package:mirage_generator/src/models/errors.dart';
import 'package:source_gen/source_gen.dart';

abstract class ClassCodeBuilderDelegate {
Expand Down
16 changes: 8 additions & 8 deletions lib/src/code_builders/classes/notifier_class_builder.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ import 'package:analyzer/dart/analysis/results.dart';
import 'package:analyzer/dart/element/element2.dart';
import 'package:analyzer/dart/element/type.dart' as analyzer;
import 'package:code_builder/code_builder.dart';
import 'package:mirage/src/code_builders/classes/class_code_builder.dart';
import 'package:mirage/src/code_builders/fake_type_code_builder.dart';
import 'package:mirage/src/code_builders/method_code_builder.dart';
import 'package:mirage/src/import_finder.dart';
import 'package:mirage/src/models/errors.dart';
import 'package:mirage/src/models/fake_type.dart';
import 'package:mirage/src/seed_finder.dart';
import 'package:mirage/src/type_referencer.dart';
import 'package:mirage_generator/src/code_builders/classes/class_code_builder.dart';
import 'package:mirage_generator/src/code_builders/fake_type_code_builder.dart';
import 'package:mirage_generator/src/code_builders/method_code_builder.dart';
import 'package:mirage_generator/src/import_finder.dart';
import 'package:mirage_generator/src/models/errors.dart';
import 'package:mirage_generator/src/models/fake_type.dart';
import 'package:mirage_generator/src/seed_finder.dart';
import 'package:mirage_generator/src/type_referencer.dart';

class NotifierClassBuilder
with ClassCodeBuilderUtils
Expand Down
4 changes: 2 additions & 2 deletions lib/src/code_builders/fake_type_code_builder.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import 'package:analyzer/dart/element/element2.dart';
import 'package:analyzer/dart/element/type.dart';
import 'package:code_builder/code_builder.dart';
import 'package:mirage/src/import_finder.dart';
import 'package:mirage/src/models/fake_type.dart';
import 'package:mirage_generator/src/import_finder.dart';
import 'package:mirage_generator/src/models/fake_type.dart';
import 'package:source_gen/source_gen.dart';

class FakeTypeCodeBuilder {
Expand Down
10 changes: 5 additions & 5 deletions lib/src/code_builders/method_code_builder.dart
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import 'package:analyzer/dart/element/element2.dart';
import 'package:code_builder/code_builder.dart';
import 'package:mirage/src/code_builders/fake_type_code_builder.dart';
import 'package:mirage/src/models/fake_type.dart';
import 'package:mirage/src/type_referencer.dart';
import 'package:mirage/src/util/block_builder_utils.dart';
import 'package:mirage/src/util/method_builder_utils.dart';
import 'package:mirage_generator/src/code_builders/fake_type_code_builder.dart';
import 'package:mirage_generator/src/models/fake_type.dart';
import 'package:mirage_generator/src/type_referencer.dart';
import 'package:mirage_generator/src/util/block_builder_utils.dart';
import 'package:mirage_generator/src/util/method_builder_utils.dart';

class MethodCodeBuilder {
static const _keepAliveInsert =
Expand Down
7 changes: 4 additions & 3 deletions lib/src/library_validator.dart
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import 'package:analyzer/dart/element/element2.dart';
import 'package:analyzer/dart/element/type.dart';
import 'package:mirage/mirage.dart';
import 'package:mirage/src/models/errors.dart';
import 'package:mirage_generator/mirage_generator.dart';
import 'package:mirage_generator/src/models/errors.dart';
import 'package:riverpod/riverpod.dart';
import 'package:source_gen/source_gen.dart';

class LibraryValidator {
static const _annotationTypeChecker = TypeChecker.typeNamed(GenerateMirage, inPackage: "mirage");
static const _annotationTypeChecker =
TypeChecker.typeNamed(GenerateMirage, inPackage: "mirage_generator");

final LibraryElement2 library;

Expand Down
2 changes: 1 addition & 1 deletion lib/src/seed_finder.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:analyzer/dart/element/element2.dart';
import 'package:analyzer/dart/element/type.dart';
import 'package:mirage/src/models/errors.dart';
import 'package:mirage_generator/src/models/errors.dart';

class SeedFinder {
DartType? getNonVoidSeedType(ClassElement2 clazz) {
Expand Down
12 changes: 6 additions & 6 deletions lib/src/service_locator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ import 'package:analyzer/dart/element/element2.dart';
import 'package:analyzer/dart/element/type_system.dart';
import 'package:code_builder/code_builder.dart';
import 'package:dart_style/dart_style.dart';
import 'package:mirage/src/code_builders/class_member_copier.dart';
import 'package:mirage/src/code_builders/classes/notifier_class_builder.dart';
import 'package:mirage/src/code_builders/fake_type_code_builder.dart';
import 'package:mirage/src/code_builders/method_code_builder.dart';
import 'package:mirage/src/seed_finder.dart';
import 'package:mirage/src/type_referencer.dart';
import 'package:mirage_generator/src/code_builders/class_member_copier.dart';
import 'package:mirage_generator/src/code_builders/classes/notifier_class_builder.dart';
import 'package:mirage_generator/src/code_builders/fake_type_code_builder.dart';
import 'package:mirage_generator/src/code_builders/method_code_builder.dart';
import 'package:mirage_generator/src/seed_finder.dart';
import 'package:mirage_generator/src/type_referencer.dart';
import 'package:source_gen/source_gen.dart';

import 'import_finder.dart';
Expand Down
2 changes: 1 addition & 1 deletion lib/src/type_referencer.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:analyzer/dart/element/type_system.dart';
import 'package:code_builder/code_builder.dart';
import 'package:mirage/src/import_finder.dart';
import 'package:mirage_generator/src/import_finder.dart';
import 'package:analyzer/dart/element/type.dart' as analyzer;

class TypeReferencer {
Expand Down
4 changes: 2 additions & 2 deletions pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: mirage
name: mirage_generator
description: "A code generator to create Mockito compliant mocks of Riverpod Notifiers."
publish_to: "none"
version: 1.0.0-dev.0
version: 1.0.0-dev.1

environment:
sdk: ^3.6.2
Expand Down
2 changes: 1 addition & 1 deletion test/golden/mirage_builder/async_notifier/input.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:mirage/mirage.dart';
import 'package:mirage_generator/mirage_generator.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';

part 'input.g.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:mirage/mirage.dart';
import 'package:mirage_generator/mirage_generator.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';

part 'input.g.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:mirage/mirage.dart';
import 'package:mirage_generator/mirage_generator.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';

part 'input.g.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:mirage/mirage.dart';
import 'package:mirage_generator/mirage_generator.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';

part 'input.g.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:mirage/mirage.dart';
import 'package:mirage_generator/mirage_generator.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';

part 'input.g.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:mirage/mirage.dart';
import 'package:mirage_generator/mirage_generator.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';

part 'input.g.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:mirage/mirage.dart';
import 'package:mirage_generator/mirage_generator.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';

part 'input.g.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:mirage/mirage.dart';
import 'package:mirage_generator/mirage_generator.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';

part 'input.g.dart';
Expand Down
2 changes: 1 addition & 1 deletion test/golden/mirage_builder/family_notifier/input.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:mirage/mirage.dart';
import 'package:mirage_generator/mirage_generator.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';

part 'input.g.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:mirage/mirage.dart';
import 'package:mirage_generator/mirage_generator.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';

part 'input.g.dart';
Expand Down
2 changes: 1 addition & 1 deletion test/golden/mirage_builder/notifier/input.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:mirage/mirage.dart';
import 'package:mirage_generator/mirage_generator.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';

part 'input.g.dart';
Expand Down
2 changes: 1 addition & 1 deletion test/golden/mirage_builder/stream_notifier/input.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:mirage/mirage.dart';
import 'package:mirage_generator/mirage_generator.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';

part 'input.g.dart';
Expand Down
2 changes: 1 addition & 1 deletion test/golden/utils/test_golden_builder.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'dart:io';

import 'package:build_test/build_test.dart';
import 'package:mirage/src/builder.dart';
import 'package:mirage_generator/src/builder.dart';
import 'package:test/test.dart';
import 'package:meta/meta.dart';

Expand Down
Loading