Browse Source

Linting and fixing client test case, have to mock getAppId as the location will never be set during testing.

pull/4023/head
Michael Drury 6 years ago
parent
commit
19bcecf9f3
  1. 6
      packages/client/src/api/index.js
  2. 3
      packages/client/tests/screenRouting.spec.js
  3. 6
      packages/client/tests/testAppDef.js
  4. 2
      packages/server/src/api/controllers/auth.js
  5. 2
      packages/standard-components/src/Navigation.svelte

6
packages/client/src/api/index.js

@ -1,5 +1,5 @@
import {authenticate} from "./authenticate"
import {getAppIdFromPath} from "../render/getAppId";
import { authenticate } from "./authenticate"
import { getAppIdFromPath } from "../render/getAppId"
const apiCall = method => async ({ url, body }) => {
const response = await fetch(url, {
@ -38,7 +38,7 @@ const del = apiCall("DELETE")
const ERROR_MEMBER = "##error"
const error = message => {
// appStore.update(s => s["##error_message"], message)
return {[ERROR_MEMBER]: message}
return { [ERROR_MEMBER]: message }
}
const isSuccess = obj => !obj || !obj[ERROR_MEMBER]

3
packages/client/tests/screenRouting.spec.js

@ -1,5 +1,8 @@
import { load, makePage, makeScreen, walkComponentTree } from "./testAppDef"
import { isScreenSlot } from "../src/render/builtinComponents"
jest.mock("../src/render/getAppId", () => ({
getAppIdFromPath: () => "TEST_APP_ID"
}))
describe("screenRouting", () => {
it("should load correct screen, for initial URL", async () => {

6
packages/client/tests/testAppDef.js

@ -1,15 +1,17 @@
import jsdom, { JSDOM } from "jsdom"
import { loadBudibase } from "../src/index"
export const APP_ID = "TEST_APP_ID"
export const load = async (page, screens, url, host = "test.com") => {
screens = screens || []
url = url || "/"
const fullUrl = `http://${host}${url}`
const cookieJar = new jsdom.CookieJar()
const cookie = `${btoa("{}")}.${btoa('{"appId":"TEST_APP_ID"}')}.signature`
const cookie = `${btoa("{}")}.${btoa(`{"appId":"${APP_ID}"}`)}.signature`
cookieJar.setCookie(
`budibase:TEST_APP_ID:local=${cookie};domain=${host};path=/`,
`budibase:${APP_ID}:local=${cookie};domain=${host};path=/`,
fullUrl,
{
looseMode: false,

2
packages/server/src/api/controllers/auth.js

@ -33,7 +33,7 @@ exports.authenticate = async ctx => {
const payload = {
userId: dbUser._id,
accessLevelId: dbUser.accessLevelId,
version: app.version
version: app.version,
}
// if in cloud add the user api key
if (env.CLOUD) {

2
packages/standard-components/src/Navigation.svelte

@ -25,7 +25,7 @@
document.cookie = `budibase:${appId}:${environment}=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;`
}
}
location.href=`/${appId}`
location.href = `/${appId}`
}
</script>

Loading…
Cancel
Save