Skip to content

Instantly share code, notes, and snippets.

@carpeliam
Created December 4, 2019 18:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save carpeliam/4539ca7fb4e2c6c5654085fe6c1434d4 to your computer and use it in GitHub Desktop.
Save carpeliam/4539ca7fb4e2c6c5654085fe6c1434d4 to your computer and use it in GitHub Desktop.
const RPSApp = require("../src/RPSApp")
const {NgModule} = require("@angular/core")
const {BrowserModule} = require("@angular/platform-browser")
const {FormsModule} = require("@angular/forms")
const {platformBrowserDynamic} = require("@angular/platform-browser-dynamic")
const { UseCaseFactory } = require("rps")
require('reflect-metadata')
const jsdom = require("jsdom")
const { JSDOM } = jsdom
const dom = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`)
const document = dom.window.document
describe("play form", function () {
describe("when the play use case tells the UI that the input is invalid", function () {
it("tells the user that their input is invalid", function () {
let domFixture = document.createElement("rps-app")
domFixture.id = "hello test world!"
document.querySelector("body").appendChild(domFixture)
const requests = {
play: function(p1, p2, ui){
ui.invalid()
}
}
let RPSTestModule = NgModule({
imports: [BrowserModule, FormsModule],
declarations: [RPSApp],
bootstrap: [RPSApp],
providers: [{provide: UseCaseFactory, useValue: requests}]
}).Class({
constructor(){}
})
platformBrowserDynamic().bootstrapModule(RPSTestModule)
document.querySelector("button").click()
expect(domFixture.innerText).toContain("INVALID")
})
})
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment