# test.govlab/stats/core/analyzers/site.analyzer.test.ts

> 19 lines of code and 0 definitions.

Tree: Codebase Testing
Language: typescript
Canonical: https://banes-lab.com/anatomy/testing#file-testing-test-govlab-stats-core-analyzers-site-analyzer-test-ts
Source text: https://banes-lab.com/source/testing/test.govlab/stats/core/analyzers/site.analyzer.test.ts.txt

Listed in [test.govlab/stats/core/analyzers](https://banes-lab.com/api/source/testing/test.govlab/stats/core/analyzers.md), after [test.govlab/stats/core/analyzers/rule.analyzer.test.ts](https://banes-lab.com/source/testing/test.govlab/stats/core/analyzers/rule.analyzer.test.ts.md) and before [test.govlab/stats/core/analyzers/source.analyzer.test.ts](https://banes-lab.com/source/testing/test.govlab/stats/core/analyzers/source.analyzer.test.ts.md).

## Contained in

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

## Source

```typescript
import { APP_CONTAINERS, BARE, IGNORE, INPUT } from "../loaders/stats.fixture.ts";
import { PAGE_MARKER, STYLE_EXTENSION } from "@govlab/stats/configuration/constants/site.constants.ts";
import { describe, expect, it } from "vitest";
import { collectApp } from "@govlab/stats/core/analyzers/site.analyzer.ts";

describe("collectApp", () => {
    it("reports absence for a root with no application member", () => {
        const stats = collectApp(BARE, APP_CONTAINERS, IGNORE);
        expect(stats.present).toBe(false);
        expect(stats.sourceFiles).toBe(0);
    });

    it("counts the application member's source and pages in the real workspace", () => {
        expect(INPUT.app.present).toBe(true);
        expect(INPUT.app.sourceFiles).toBeGreaterThan(0);
        expect(INPUT.app.sourceLines).toBeGreaterThanOrEqual(INPUT.app.sourceFiles);
        expect(INPUT.app.pages.filter((page) => page.isRoot).length).toBeGreaterThan(0);
        expect(PAGE_MARKER.endsWith(".html")).toBe(true);
        expect(STYLE_EXTENSION).toBe(".css");
    });
});
```
