# test.govlab/patterns/core/selectors/record.selector.test.ts

> 11 lines of code and 0 definitions.

Tree: Codebase Testing
Language: typescript
Canonical: https://banes-lab.com/anatomy/testing#file-testing-test-govlab-patterns-core-selectors-record-selector-test-ts
Source text: https://banes-lab.com/source/testing/test.govlab/patterns/core/selectors/record.selector.test.ts.txt

Listed in [test.govlab/patterns/core/selectors](https://banes-lab.com/api/source/testing/test.govlab/patterns/core/selectors.md), after [test.govlab/patterns/core/selectors/counter.selector.test.ts](https://banes-lab.com/source/testing/test.govlab/patterns/core/selectors/counter.selector.test.ts.md) and before [test.govlab/patterns/core/selectors/representation.selector.test.ts](https://banes-lab.com/source/testing/test.govlab/patterns/core/selectors/representation.selector.test.ts.md).

## Contained in

- [test.govlab/patterns/core/selectors](https://banes-lab.com/anatomy/testing/folder-testing-test-govlab-patterns-core-selectors.md)

## Source

```typescript
import { describe, expect, it } from "vitest";
import { foldRecords } from "@govlab/patterns/core/selectors/record.selector.ts";

describe("foldRecords", () => {
    it("observes the field of every record that carries it, null included", () => {
        const seen: unknown[] = [];
        foldRecords([{ a: 1 }, { b: 2 }, { a: null }, "scalar"], "a", (value) => {
            seen.push(value);
        });
        expect(seen).toStrictEqual([1, null]);
    });
});
```
