@salesforcedevs/docs-components
Advanced tools
Comparing version 0.2.3 to 0.2.14
{ | ||
"name": "@salesforcedevs/docs-components", | ||
"version": "0.2.3", | ||
"version": "0.2.14", | ||
"description": "Docs Lightning web components for DSC", | ||
@@ -17,3 +17,3 @@ "license": "MIT", | ||
}, | ||
"gitHead": "2e2dfcd39aca000e192dea4c953b2ed3dce92991" | ||
"gitHead": "439bf8df803bf0f76708352dcb7c1395ef67e457" | ||
} |
@@ -16,2 +16,4 @@ /* eslint-disable jest/no-mocks-import */ | ||
const mockNavigationFetchResponse = require("../__mocks__/mockNavigationFetchResponse.json"); | ||
const DEFAULT_DOMAIN_API = "https://developer.salesforce.com/"; | ||
const ALTERNATE_DOMAIN_API = "https://staging.developer.salesforce.com/"; | ||
@@ -61,2 +63,6 @@ const create = (props?: object) => { | ||
describe("doc-container", () => { | ||
afterEach(() => { | ||
jest.resetAllMocks(); | ||
}); | ||
it("renders the content", async () => { | ||
@@ -66,2 +72,6 @@ global.fetch = mockFetch(); | ||
document.body.appendChild(component); | ||
expect(global.fetch).toHaveBeenCalledTimes(1); | ||
expect(global.fetch).toHaveBeenCalledWith( | ||
`${DEFAULT_DOMAIN_API}docs/get_document/atlas.en-us.228.0.apexcode.meta` | ||
); | ||
return Promise.resolve(() => { | ||
@@ -79,3 +89,6 @@ const contentEl = component.shadowRoot.querySelector( | ||
document.body.appendChild(component); | ||
expect(global.fetch).toHaveBeenCalledTimes(1); | ||
expect(global.fetch).toHaveBeenCalledWith( | ||
`${DEFAULT_DOMAIN_API}docs/get_document/atlas.en-us.228.0.apexcode.meta` | ||
); | ||
return Promise.resolve(() => { | ||
@@ -86,2 +99,24 @@ const navEl = component.shadowRoot.querySelector(".doc-nav"); | ||
}); | ||
it("renders the correct default value domainApi", () => { | ||
global.fetch = mockFetch(); | ||
const component = create(); | ||
document.body.appendChild(component); | ||
expect(global.fetch).toHaveBeenCalledTimes(1); | ||
expect(global.fetch).toHaveBeenCalledWith( | ||
`${DEFAULT_DOMAIN_API}docs/get_document/atlas.en-us.228.0.apexcode.meta` | ||
); | ||
expect(component.domainApi).toBe(DEFAULT_DOMAIN_API); | ||
}); | ||
it("renders the correct values for domainApi", () => { | ||
global.fetch = mockFetch(); | ||
const component = create({ domainApi: ALTERNATE_DOMAIN_API }); | ||
document.body.appendChild(component); | ||
expect(global.fetch).toHaveBeenCalledTimes(1); | ||
expect(global.fetch).toHaveBeenCalledWith( | ||
`${ALTERNATE_DOMAIN_API}docs/get_document/atlas.en-us.228.0.apexcode.meta` | ||
); | ||
expect(component.domainApi).toBe(ALTERNATE_DOMAIN_API); | ||
}); | ||
}); |
@@ -8,4 +8,9 @@ export default { | ||
return ` | ||
<doc-container storybook-domain='${args.domain}' storybook-page='${args.page}' storybook-doc-id='${args.docId}' storybook-deliverable='${args.deliverable}' storybook-content-document-id='${args.contentDocumentId}' ></doc-container> | ||
`; | ||
<doc-container | ||
storybook-domain='${args.domain}' | ||
storybook-page='${args.page}' | ||
storybook-doc-id='${args.docId}' | ||
storybook-deliverable='${args.deliverable}' | ||
storybook-content-document-id='${args.contentDocumentId}' | ||
></doc-container>`; | ||
}; | ||
@@ -20,1 +25,22 @@ | ||
}; | ||
export const DomainApi = (args: any) => { | ||
return ` | ||
<doc-container | ||
domain-api='${args.domainApi}' | ||
storybook-domain='${args.domain}' | ||
storybook-page='${args.page}' | ||
storybook-doc-id='${args.docId}' | ||
storybook-deliverable='${args.deliverable}' | ||
storybook-content-document-id='${args.contentDocumentId}' | ||
></doc-container>`; | ||
}; | ||
DomainApi.args = { | ||
domain: "https://staging.developer.salesforce.com/", | ||
page: "docs", | ||
docId: "atlas.en-us.226.0.apexcode.meta", | ||
deliverable: "apexcode", | ||
contentDocumentId: "apex_dev_guide.htm", | ||
domainApi: "https://staging.developer.salesforce.com/" | ||
}; |
@@ -15,9 +15,8 @@ import { LightningElement, api } from "lwc"; | ||
PdfUrl | ||
} from "../../../../../../../typings/custom"; | ||
} from "typings/custom"; | ||
const API_MAIN_URL = "https://developer.salesforce.com/docs/get_document/"; | ||
const API_DETAIL_URL = | ||
"https://developer.salesforce.com/docs/get_document_content"; | ||
const DEFAULT_URL = "https://developer.salesforce.com/"; | ||
export default class Container extends LightningElement { | ||
@api domainApi: string = DEFAULT_URL; | ||
// TODO: We have to evaluate if we can find a better way to do component testing in Storybook. | ||
@@ -148,2 +147,5 @@ @api | ||
apiMainUrl: string = ""; | ||
apiDetailUrl: string = ""; | ||
constructor() { | ||
@@ -166,2 +168,7 @@ super(); | ||
connectedCallback() { | ||
const normalizedDomainApi = this.domainApi.endsWith("/") | ||
? this.domainApi | ||
: this.domainApi + "/"; | ||
this.apiMainUrl = `${normalizedDomainApi}docs/get_document/`; | ||
this.apiDetailUrl = `${normalizedDomainApi}docs/get_document_content`; | ||
if (!this._isStorybook) { | ||
@@ -344,5 +351,5 @@ this.getPageContext(); | ||
if (docType === "navigation") { | ||
return API_MAIN_URL + this.pageReference.docId; | ||
return this.apiMainUrl + this.pageReference.docId; | ||
} else if (docType === "content") { | ||
return `${API_DETAIL_URL}/${this.pageReference.deliverable}/${this.pageReference.contentDocumentId}/${this.selectedLanguage[0].locale}/${this.selectedVersion[0].doc_version}`; | ||
return `${this.apiDetailUrl}/${this.pageReference.deliverable}/${this.pageReference.contentDocumentId}/${this.selectedLanguage[0].locale}/${this.selectedVersion[0].doc_version}`; | ||
} | ||
@@ -349,0 +356,0 @@ return ""; |
@@ -8,2 +8,6 @@ /* eslint-disable jest/no-mocks-import */ | ||
const render = createRenderComponent(TAG, Landing); | ||
const LANDING_DEFAULT_URL = | ||
"https://developer.salesforce.com/docs/get_index/en-us/000.0/false/All%20Services/all"; | ||
const LANDING_ALTERNATE_URL = | ||
"https://staging.developer.salesforce.com/docs/get_index/en-us/000.0/false/All%20Services/all"; | ||
@@ -22,5 +26,11 @@ function mockFetch() { | ||
describe("doc-landing", () => { | ||
afterEach(() => { | ||
jest.resetAllMocks(); | ||
}); | ||
it("renders the landing page", async () => { | ||
global.fetch = mockFetch(); | ||
const element = render(); | ||
expect(global.fetch).toHaveBeenCalledTimes(1); | ||
expect(global.fetch).toHaveBeenCalledWith(LANDING_DEFAULT_URL); | ||
const els = [ | ||
@@ -33,3 +43,21 @@ ".docs-results-container", | ||
}); | ||
it("binds the correct default value for defaultUrl", async () => { | ||
global.fetch = mockFetch(); | ||
const element = render(); | ||
expect(global.fetch).toHaveBeenCalledTimes(1); | ||
expect(global.fetch).toHaveBeenCalledWith(LANDING_DEFAULT_URL); | ||
expect(element.defaultUrl).toBe(LANDING_DEFAULT_URL); | ||
await expect(element).toBeAccessible(); | ||
}); | ||
it("binds the correct value for defaultUrl", async () => { | ||
global.fetch = mockFetch(); | ||
const element = render({ defaultUrl: LANDING_ALTERNATE_URL }); | ||
expect(global.fetch).toHaveBeenCalledTimes(1); | ||
expect(global.fetch).toHaveBeenCalledWith(LANDING_ALTERNATE_URL); | ||
expect(element.defaultUrl).toBe(LANDING_ALTERNATE_URL); | ||
await expect(element).toBeAccessible(); | ||
}); | ||
}); | ||
}); |
@@ -11,1 +11,12 @@ export default { | ||
}; | ||
export const DefaultUrl = (args: any) => { | ||
return ` | ||
<doc-landing default-url='${args.defaultUrl}'></doc-landing> | ||
`; | ||
}; | ||
DefaultUrl.args = { | ||
defaultUrl: | ||
"https://staging.developer.salesforce.com/docs/get_index/en-us/000.0/false/All%20Services/all" | ||
}; |
@@ -1,2 +0,2 @@ | ||
import { LightningElement, track } from "lwc"; | ||
import { LightningElement, track, api } from "lwc"; | ||
import { | ||
@@ -7,10 +7,7 @@ AvailableLanguages, | ||
SelectedVersion | ||
} from "../../../../../../../typings/custom"; | ||
} from "typings/custom"; | ||
//const API_MAIN_URL = "https://developer.salesforce.com/docs/get_document/"; | ||
const DEFAULT_URL = | ||
"https://developer.salesforce.com/docs/get_index/en-us/000.0/false/All%20Services/all"; | ||
export default class Landing extends LightningElement { | ||
@api defaultUrl: string = | ||
"https://developer.salesforce.com/docs/get_index/en-us/000.0/false/All%20Services/all"; | ||
@track content: any; | ||
@@ -195,3 +192,3 @@ @track filteredContent: any; | ||
if (searchType === "initial") { | ||
return DEFAULT_URL; | ||
return this.defaultUrl; | ||
} | ||
@@ -198,0 +195,0 @@ const selected = |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
385559
7279