Prueba unitaria Angular2 con @Input ()

Tengo un componente que usa el@Input() anotación en una variable de instancia y estoy tratando de escribir mi prueba de unidad para elopenProductPage() método, pero estoy un poco perdido en cómo configuro mi prueba de unidad. yopodría hacer pública esa variable de instancia, pero no creo que deba recurrir a eso.

¿Cómo configuro mi prueba de Jasmine para que se inyecte un producto simulado (provisto) y pueda probar elopenProductPage() ¿método?

Mi componente:

import {Component, Input} from "angular2/core";
import {Router} from "angular2/router";

import {Product} from "../models/Product";

@Component({
    selector: "product-thumbnail",
    templateUrl: "app/components/product-thumbnail/product-thumbnail.html"
})

export class ProductThumbnail {
    @Input() private product: Product;


    constructor(private router: Router) {
    }

    public openProductPage() {
        let id: string = this.product.id;
        this.router.navigate([“ProductPage”, {id: id}]);
    }
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta