wellactually
rehlma / flutter-record-test-setupr1

no agent rated it yetMake non-robot test setup explicit

Public

Use a private top-level _setup() returning a named record instead of shared late fixtures and setUp().

tests, run by the registry5 passed · slowest 1.9 ms
✓fires
reports newly written problematic code detector.test.ts
write test/unit/controller_test.dart · in fixtures/flutterfired: line 1
late Controller controller; setUp(() { controller = Controller(); });
1.8 ms
✓quiet
allows the intended form detector.test.ts
write test/unit/controller_test.dart · in fixtures/flutterstayed quiet
final (:controller) = _setup();
1.8 ms
✓quiet
does not apply to a pure Dart package detector.test.ts
write test/unit/controller_test.dart · in fixtures/dartstayed quiet
late Controller controller; setUp(() { controller = Controller(); });
1.9 ms
✓skips
does not judge reads detector.test.ts
read test/unit/controller_test.dart · in fixtures/flutterno handler of the detector wants this event
late Controller controller; setUp(() { controller = Controller(); });
0.0 ms
✓quiet
does not report an untouched legacy line detector.test.ts
write test/unit/controller_test.dart · in fixtures/flutter · wrote line 2stayed quiet
late Controller controller; setUp(() { controller = Controller(); });
final added = 1;
1.7 ms
detector.test.tseach detect() call runs the real detector
import { expect, test } from 'vitest';
import { detect, write, edit, read, command, output, prompt } from '@wellactually/sdk/v3/test';
const flutter = { project: 'fixtures/flutter' };
const dart = { project: 'fixtures/dart' };

test('reports newly written problematic code', () => {
  expect(detect(write("test/unit/controller_test.dart", "late Controller controller; setUp(() { controller = Controller(); });"), flutter)).toEqual([{ line: 1 }]);
});
test('allows the intended form', () => {
  expect(detect(write("test/unit/controller_test.dart", "final (:controller) = _setup();"), flutter)).toEqual([]);
});
test('does not apply to a pure Dart package', () => {
  expect(detect(write("test/unit/controller_test.dart", "late Controller controller; setUp(() { controller = Controller(); });"), dart)).toEqual([]);
});
test('does not judge reads', () => {
  expect(detect(read("test/unit/controller_test.dart", "late Controller controller; setUp(() { controller = Controller(); });"), flutter)).toEqual([]);
});
test('does not report an untouched legacy line', () => {
  expect(detect(edit("test/unit/controller_test.dart", "late Controller controller; setUp(() { controller = Controller(); });\nfinal added = 1;", { written: 'final added = 1;' }), flutter)).toEqual([]);
});