# test.web/presentation/widgets/site.widget.test.ts

> 18 lines of code and 0 definitions.

Tree: Codebase Testing
Language: typescript
Canonical: https://banes-lab.com/anatomy/testing#file-testing-test-web-presentation-widgets-site-widget-test-ts
Source text: https://banes-lab.com/source/testing/test.web/presentation/widgets/site.widget.test.ts.txt

Listed in [test.web/presentation/widgets](https://banes-lab.com/api/source/testing/test.web/presentation/widgets.md), after [test.web/presentation/widgets/reference.widget.test.ts](https://banes-lab.com/source/testing/test.web/presentation/widgets/reference.widget.test.ts.md) and before [test.web/presentation/widgets/surface.widget.test.ts](https://banes-lab.com/source/testing/test.web/presentation/widgets/surface.widget.test.ts.md).

## Contained in

- [test.web/presentation/widgets](https://banes-lab.com/anatomy/testing/folder-testing-test-web-presentation-widgets.md)

## Source

```typescript
import { COPYRIGHT_PREFIX, COPYRIGHT_SUFFIX } from "@banes-lab/web/configuration/strings/company.strings.ts";
import { describe, expect, it } from "vitest";
import { copyrightText } from "@banes-lab/web/presentation/renderers/site.renderer.ts";
import { mountCopyright } from "@banes-lab/web/presentation/widgets/site.widget.ts";

describe("copyrightText", () => {
    it("names the current year between the copyright prefix and suffix", () => {
        expect(copyrightText()).toBe(COPYRIGHT_PREFIX + String(new Date().getFullYear()) + COPYRIGHT_SUFFIX);
    });
});

describe("mountCopyright", () => {
    it("writes the copyright into its bar and clears it on dispose", () => {
        const bar = document.createElement("footer");
        const dispose = mountCopyright(bar);
        expect(bar.textContent).toBe(copyrightText());
        dispose();
        expect(bar.textContent).toBe("");
    });
});
```
