From 2b0525433156273249e01094a4e698bdc5eab1e6 Mon Sep 17 00:00:00 2001 From: fabio-looker Date: Tue, 4 Feb 2020 22:28:11 -0500 Subject: [PATCH] WIP add failing tests for issue #32 (but I am failing to do it correctly at the moment...) --- .../dummy-projects/07-issue-32/bad.model.lkml | 11 +++++ .../dummy-projects/07-issue-32/index.test.js | 47 +++++++++++++++++++ .../dummy-projects/07-issue-32/ok.model.lkml | 11 +++++ 3 files changed, 69 insertions(+) create mode 100644 __tests__/dummy-projects/07-issue-32/bad.model.lkml create mode 100644 __tests__/dummy-projects/07-issue-32/index.test.js create mode 100644 __tests__/dummy-projects/07-issue-32/ok.model.lkml diff --git a/__tests__/dummy-projects/07-issue-32/bad.model.lkml b/__tests__/dummy-projects/07-issue-32/bad.model.lkml new file mode 100644 index 0000000..8e34248 --- /dev/null +++ b/__tests__/dummy-projects/07-issue-32/bad.model.lkml @@ -0,0 +1,11 @@ +view: bad_view { + dimension: foo { + sql: TRUE ;; + html: + {% if linkback_type._parameter_value == "Client" %} +

Thank you for logging in!

+

Return to dashboard

+ {% endif %} + ;; + } +} \ No newline at end of file diff --git a/__tests__/dummy-projects/07-issue-32/index.test.js b/__tests__/dummy-projects/07-issue-32/index.test.js new file mode 100644 index 0000000..4e4a613 --- /dev/null +++ b/__tests__/dummy-projects/07-issue-32/index.test.js @@ -0,0 +1,47 @@ +const lams = require('../../../index.js') +const mocks = require('../../../lib/mocks.js') +const path= require('path') +const options = {reporting:"no", cwd:__dirname, onParserError:"fail"} +require('../../../lib/expect-to-contain-message'); +const log = x=>console.log(x) +const testProjectName = __dirname.split(path.sep).slice(-1)[0]; + +describe('Projects', () => { + describe(testProjectName, () => { + let {spies, process, console} = mocks() + let messages + beforeAll( async () => { + messages = await lams(options,{process, console}) + log(messages)//.filter(m=>m.rule=="F1")) + }) + it("bad.model should error on rule F1", ()=> { + expect(console.error).not.toHaveBeenCalled(); + expect(process.exit).not.toHaveBeenCalled(); + expect({messages}).toContainMessage({ + rule: "F1", + level: "error", + location: "model:bad/view:bad_view/dimension:foo" + }); + }); + it("ok.model should not error/warn on rule F1", ()=> { + + expect(console.error).not.toHaveBeenCalled(); + expect(process.exit).not.toHaveBeenCalled(); + // expect({messages}).toContainMessage({ + // rule: "F1", + // level: "info", + // location: "model:ok/view:ok_view/dimension:foo" + // }); + expect({messages}).not.toContainMessage({ + rule: "F1", + level: "error", + location: "model:ok/view:ok_view/dimension:foo" + }); + expect({messages}).not.toContainMessage({ + rule: "F1", + level: "warning", + location: "model:ok/view:ok_view/dimension:foo" + }); + }); + }); +}); \ No newline at end of file diff --git a/__tests__/dummy-projects/07-issue-32/ok.model.lkml b/__tests__/dummy-projects/07-issue-32/ok.model.lkml new file mode 100644 index 0000000..847b530 --- /dev/null +++ b/__tests__/dummy-projects/07-issue-32/ok.model.lkml @@ -0,0 +1,11 @@ +view: ok_view { + dimension: foo { + sql: ${actual.cross_view_reference} ;; + html: + {% if linkback_type._parameter_value == "Client" %} +

Thank you for logging in!

+

Return to dashboard

+ {% endif %} + ;; + } +} \ No newline at end of file