scottohara/loot

View on GitHub
src/mocks/og-components/og-lru-cache-factory/models/og-lru-cache-factory.ts

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
import type {
    OgLruCacheFactoryMock,
    OgLruCacheMock,
} from "~/mocks/og-components/og-lru-cache-factory/types";
import type { Mock } from "~/mocks/types";
import sinon from "sinon";

export default class OgLruCacheFactoryMockProvider
    implements Mock<OgLruCacheFactoryMock>
{
    private readonly ogLruCacheFactory: OgLruCacheFactoryMock;

    // Mock LruCache object
    public constructor() {
        const ogLruCache: OgLruCacheMock = {
            list: [{ id: 1, name: "recent item" }],
            put: sinon.stub().returns("updated list"),
            remove: sinon.stub().returns("updated list"),
        };

        this.ogLruCacheFactory = {
            new(): OgLruCacheMock {
                return ogLruCache;
            },
        };
    }

    public $get(): OgLruCacheFactoryMock {
        // Return the mock LruCacheFactory object
        return this.ogLruCacheFactory;
    }
}

OgLruCacheFactoryMockProvider.$inject = [];