mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2024-11-25 15:06:55 +00:00
Resolve ESlint Errors (#932)
This commit is contained in:
parent
854bd2c149
commit
71113e403e
@ -135,7 +135,6 @@ src/Explorer/Tabs/TabsBase.ts
|
|||||||
src/Explorer/Tabs/TriggerTab.ts
|
src/Explorer/Tabs/TriggerTab.ts
|
||||||
src/Explorer/Tabs/UserDefinedFunctionTab.ts
|
src/Explorer/Tabs/UserDefinedFunctionTab.ts
|
||||||
src/Explorer/Tree/AccessibleVerticalList.ts
|
src/Explorer/Tree/AccessibleVerticalList.ts
|
||||||
src/Explorer/Tree/Collection.test.ts
|
|
||||||
src/Explorer/Tree/Collection.ts
|
src/Explorer/Tree/Collection.ts
|
||||||
src/Explorer/Tree/ConflictId.ts
|
src/Explorer/Tree/ConflictId.ts
|
||||||
src/Explorer/Tree/DocumentId.ts
|
src/Explorer/Tree/DocumentId.ts
|
||||||
@ -161,20 +160,11 @@ src/ReactDevTools.ts
|
|||||||
src/Shared/Constants.ts
|
src/Shared/Constants.ts
|
||||||
src/Shared/DefaultExperienceUtility.test.ts
|
src/Shared/DefaultExperienceUtility.test.ts
|
||||||
src/Shared/DefaultExperienceUtility.ts
|
src/Shared/DefaultExperienceUtility.ts
|
||||||
src/Shared/ExplorerSettings.ts
|
|
||||||
src/Shared/PriceEstimateCalculator.ts
|
|
||||||
src/Shared/StorageUtility.test.ts
|
|
||||||
src/Shared/StorageUtility.ts
|
|
||||||
src/Shared/appInsights.ts
|
src/Shared/appInsights.ts
|
||||||
src/SparkClusterManager/ArcadiaResourceManager.ts
|
src/SparkClusterManager/ArcadiaResourceManager.ts
|
||||||
src/SparkClusterManager/SparkClusterManager.ts
|
src/SparkClusterManager/SparkClusterManager.ts
|
||||||
src/Terminal/JupyterLabAppFactory.ts
|
src/Terminal/JupyterLabAppFactory.ts
|
||||||
src/Terminal/NotebookAppContracts.d.ts
|
src/Terminal/NotebookAppContracts.d.ts
|
||||||
src/Terminal/index.ts
|
|
||||||
src/TokenProviders/PortalTokenProvider.ts
|
|
||||||
src/TokenProviders/TokenProviderFactory.ts
|
|
||||||
src/Utils/PricingUtils.test.ts
|
|
||||||
src/Utils/QueryUtils.test.ts
|
|
||||||
src/applyExplorerBindings.ts
|
src/applyExplorerBindings.ts
|
||||||
src/global.d.ts
|
src/global.d.ts
|
||||||
src/setupTests.ts
|
src/setupTests.ts
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import * as HeadersUtility from "./HeadersUtility";
|
import * as ExplorerSettings from "../Shared/ExplorerSettings";
|
||||||
import { ExplorerSettings } from "../Shared/ExplorerSettings";
|
|
||||||
import { LocalStorageUtility, StorageKey } from "../Shared/StorageUtility";
|
import { LocalStorageUtility, StorageKey } from "../Shared/StorageUtility";
|
||||||
|
import * as HeadersUtility from "./HeadersUtility";
|
||||||
|
|
||||||
describe("Headers Utility", () => {
|
describe("Headers Utility", () => {
|
||||||
describe("shouldEnableCrossPartitionKeyForResourceWithPartitionKey()", () => {
|
describe("shouldEnableCrossPartitionKeyForResourceWithPartitionKey()", () => {
|
||||||
|
@ -18,7 +18,7 @@ import { GitHubOAuthService } from "../GitHub/GitHubOAuthService";
|
|||||||
import { useSidePanel } from "../hooks/useSidePanel";
|
import { useSidePanel } from "../hooks/useSidePanel";
|
||||||
import { useTabs } from "../hooks/useTabs";
|
import { useTabs } from "../hooks/useTabs";
|
||||||
import { IGalleryItem } from "../Juno/JunoClient";
|
import { IGalleryItem } from "../Juno/JunoClient";
|
||||||
import { ExplorerSettings } from "../Shared/ExplorerSettings";
|
import * as ExplorerSettings from "../Shared/ExplorerSettings";
|
||||||
import { Action, ActionModifiers } from "../Shared/Telemetry/TelemetryConstants";
|
import { Action, ActionModifiers } from "../Shared/Telemetry/TelemetryConstants";
|
||||||
import * as TelemetryProcessor from "../Shared/Telemetry/TelemetryProcessor";
|
import * as TelemetryProcessor from "../Shared/Telemetry/TelemetryProcessor";
|
||||||
import { userContext } from "../UserContext";
|
import { userContext } from "../UserContext";
|
||||||
|
@ -4,18 +4,12 @@ import Collection from "./Collection";
|
|||||||
jest.mock("monaco-editor");
|
jest.mock("monaco-editor");
|
||||||
|
|
||||||
describe("Collection", () => {
|
describe("Collection", () => {
|
||||||
function generateCollection(
|
const generateCollection = (container: Explorer, databaseId: string, data: DataModels.Collection): Collection =>
|
||||||
container: Explorer,
|
new Collection(container, databaseId, data);
|
||||||
databaseId: string,
|
|
||||||
data: DataModels.Collection,
|
|
||||||
offer: DataModels.Offer
|
|
||||||
): Collection {
|
|
||||||
return new Collection(container, databaseId, data);
|
|
||||||
}
|
|
||||||
|
|
||||||
function generateMockCollectionsDataModelWithPartitionKey(
|
const generateMockCollectionsDataModelWithPartitionKey = (
|
||||||
partitionKey: DataModels.PartitionKey
|
partitionKey: DataModels.PartitionKey
|
||||||
): DataModels.Collection {
|
): DataModels.Collection => {
|
||||||
return {
|
return {
|
||||||
defaultTtl: 1,
|
defaultTtl: 1,
|
||||||
indexingPolicy: {} as DataModels.IndexingPolicy,
|
indexingPolicy: {} as DataModels.IndexingPolicy,
|
||||||
@ -26,13 +20,12 @@ describe("Collection", () => {
|
|||||||
_ts: 1,
|
_ts: 1,
|
||||||
id: "",
|
id: "",
|
||||||
};
|
};
|
||||||
}
|
};
|
||||||
|
|
||||||
function generateMockCollectionWithDataModel(data: DataModels.Collection): Collection {
|
const generateMockCollectionWithDataModel = (data: DataModels.Collection): Collection => {
|
||||||
const mockContainer = {} as Explorer;
|
const mockContainer = {} as Explorer;
|
||||||
|
return generateCollection(mockContainer, "abc", data);
|
||||||
return generateCollection(mockContainer, "abc", data, {} as DataModels.Offer);
|
};
|
||||||
}
|
|
||||||
|
|
||||||
describe("Partition key path parsing", () => {
|
describe("Partition key path parsing", () => {
|
||||||
let collection: Collection;
|
let collection: Collection;
|
||||||
@ -88,7 +81,7 @@ describe("Collection", () => {
|
|||||||
kind: "Hash",
|
kind: "Hash",
|
||||||
});
|
});
|
||||||
collection = generateMockCollectionWithDataModel(collectionsDataModel);
|
collection = generateMockCollectionWithDataModel(collectionsDataModel);
|
||||||
expect(collection.partitionKeyPropertyHeader).toBeNull;
|
expect(collection.partitionKeyPropertyHeader).toBeNull();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,22 +1,17 @@
|
|||||||
import * as Constants from "../Common/Constants";
|
import * as Constants from "../Common/Constants";
|
||||||
import { LocalStorageUtility, StorageKey } from "./StorageUtility";
|
import { LocalStorageUtility, StorageKey } from "./StorageUtility";
|
||||||
|
|
||||||
export class ExplorerSettings {
|
export const createDefaultSettings = () => {
|
||||||
public static createDefaultSettings() {
|
LocalStorageUtility.setEntryNumber(StorageKey.ActualItemPerPage, Constants.Queries.itemsPerPage);
|
||||||
LocalStorageUtility.setEntryNumber(StorageKey.ActualItemPerPage, Constants.Queries.itemsPerPage);
|
LocalStorageUtility.setEntryNumber(StorageKey.CustomItemPerPage, Constants.Queries.itemsPerPage);
|
||||||
LocalStorageUtility.setEntryNumber(StorageKey.CustomItemPerPage, Constants.Queries.itemsPerPage);
|
LocalStorageUtility.setEntryString(StorageKey.IsCrossPartitionQueryEnabled, "true");
|
||||||
LocalStorageUtility.setEntryString(StorageKey.IsCrossPartitionQueryEnabled, "true");
|
LocalStorageUtility.setEntryNumber(StorageKey.MaxDegreeOfParellism, Constants.Queries.DefaultMaxDegreeOfParallelism);
|
||||||
LocalStorageUtility.setEntryNumber(
|
};
|
||||||
StorageKey.MaxDegreeOfParellism,
|
|
||||||
Constants.Queries.DefaultMaxDegreeOfParallelism
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static hasSettingsDefined(): boolean {
|
export const hasSettingsDefined = (): boolean => {
|
||||||
return (
|
return (
|
||||||
LocalStorageUtility.hasItem(StorageKey.ActualItemPerPage) &&
|
LocalStorageUtility.hasItem(StorageKey.ActualItemPerPage) &&
|
||||||
LocalStorageUtility.hasItem(StorageKey.IsCrossPartitionQueryEnabled) &&
|
LocalStorageUtility.hasItem(StorageKey.IsCrossPartitionQueryEnabled) &&
|
||||||
LocalStorageUtility.hasItem(StorageKey.MaxDegreeOfParellism)
|
LocalStorageUtility.hasItem(StorageKey.MaxDegreeOfParellism)
|
||||||
);
|
);
|
||||||
}
|
};
|
||||||
}
|
|
||||||
|
22
src/Shared/LocalStorageUtility.ts
Normal file
22
src/Shared/LocalStorageUtility.ts
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import { StorageKey } from "./StorageUtility";
|
||||||
|
import * as StringUtility from "./StringUtility";
|
||||||
|
|
||||||
|
export const hasItem = (key: StorageKey): boolean => !!localStorage.getItem(StorageKey[key]);
|
||||||
|
|
||||||
|
export const getEntryString = (key: StorageKey): string | null => localStorage.getItem(StorageKey[key]);
|
||||||
|
|
||||||
|
export const getEntryNumber = (key: StorageKey): number =>
|
||||||
|
StringUtility.toNumber(localStorage.getItem(StorageKey[key]));
|
||||||
|
|
||||||
|
export const getEntryBoolean = (key: StorageKey): boolean =>
|
||||||
|
StringUtility.toBoolean(localStorage.getItem(StorageKey[key]));
|
||||||
|
|
||||||
|
export const setEntryString = (key: StorageKey, value: string): void => localStorage.setItem(StorageKey[key], value);
|
||||||
|
|
||||||
|
export const removeEntry = (key: StorageKey): void => localStorage.removeItem(StorageKey[key]);
|
||||||
|
|
||||||
|
export const setEntryNumber = (key: StorageKey, value: number): void =>
|
||||||
|
localStorage.setItem(StorageKey[key], value.toString());
|
||||||
|
|
||||||
|
export const setEntryBoolean = (key: StorageKey, value: boolean): void =>
|
||||||
|
localStorage.setItem(StorageKey[key], value.toString());
|
@ -2,26 +2,26 @@ import * as Constants from "./Constants";
|
|||||||
|
|
||||||
export function computeRUUsagePrice(serverId: string, requestUnits: number): string {
|
export function computeRUUsagePrice(serverId: string, requestUnits: number): string {
|
||||||
if (serverId === "mooncake") {
|
if (serverId === "mooncake") {
|
||||||
let ruCharge = requestUnits * Constants.OfferPricing.HourlyPricing.mooncake.Standard.PricePerRU;
|
const ruCharge = requestUnits * Constants.OfferPricing.HourlyPricing.mooncake.Standard.PricePerRU;
|
||||||
return calculateEstimateNumber(ruCharge) + " " + Constants.OfferPricing.HourlyPricing.mooncake.Currency;
|
return calculateEstimateNumber(ruCharge) + " " + Constants.OfferPricing.HourlyPricing.mooncake.Currency;
|
||||||
}
|
}
|
||||||
|
|
||||||
let ruCharge = requestUnits * Constants.OfferPricing.HourlyPricing.default.Standard.PricePerRU;
|
const ruCharge = requestUnits * Constants.OfferPricing.HourlyPricing.default.Standard.PricePerRU;
|
||||||
return calculateEstimateNumber(ruCharge) + " " + Constants.OfferPricing.HourlyPricing.default.Currency;
|
return calculateEstimateNumber(ruCharge) + " " + Constants.OfferPricing.HourlyPricing.default.Currency;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function computeStorageUsagePrice(serverId: string, storageUsedRoundUpToGB: number): string {
|
export function computeStorageUsagePrice(serverId: string, storageUsedRoundUpToGB: number): string {
|
||||||
if (serverId === "mooncake") {
|
if (serverId === "mooncake") {
|
||||||
let storageCharge = storageUsedRoundUpToGB * Constants.OfferPricing.HourlyPricing.mooncake.Standard.PricePerGB;
|
const storageCharge = storageUsedRoundUpToGB * Constants.OfferPricing.HourlyPricing.mooncake.Standard.PricePerGB;
|
||||||
return calculateEstimateNumber(storageCharge) + " " + Constants.OfferPricing.HourlyPricing.mooncake.Currency;
|
return calculateEstimateNumber(storageCharge) + " " + Constants.OfferPricing.HourlyPricing.mooncake.Currency;
|
||||||
}
|
}
|
||||||
|
|
||||||
let storageCharge = storageUsedRoundUpToGB * Constants.OfferPricing.HourlyPricing.default.Standard.PricePerGB;
|
const storageCharge = storageUsedRoundUpToGB * Constants.OfferPricing.HourlyPricing.default.Standard.PricePerGB;
|
||||||
return calculateEstimateNumber(storageCharge) + " " + Constants.OfferPricing.HourlyPricing.default.Currency;
|
return calculateEstimateNumber(storageCharge) + " " + Constants.OfferPricing.HourlyPricing.default.Currency;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function computeDisplayUsageString(usageInKB: number): string {
|
export function computeDisplayUsageString(usageInKB: number): string {
|
||||||
let usageInMB = usageInKB / 1024,
|
const usageInMB = usageInKB / 1024,
|
||||||
usageInGB = usageInMB / 1024,
|
usageInGB = usageInMB / 1024,
|
||||||
displayUsageString =
|
displayUsageString =
|
||||||
usageInGB > 0.1
|
usageInGB > 0.1
|
||||||
@ -33,7 +33,7 @@ export function computeDisplayUsageString(usageInKB: number): string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function usageInGB(usageInKB: number): number {
|
export function usageInGB(usageInKB: number): number {
|
||||||
let usageInMB = usageInKB / 1024,
|
const usageInMB = usageInKB / 1024,
|
||||||
usageInGB = usageInMB / 1024;
|
usageInGB = usageInMB / 1024;
|
||||||
return Math.ceil(usageInGB);
|
return Math.ceil(usageInGB);
|
||||||
}
|
}
|
||||||
|
20
src/Shared/SessionStorageUtility.ts
Normal file
20
src/Shared/SessionStorageUtility.ts
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
import { StorageKey } from "./StorageUtility";
|
||||||
|
import * as StringUtility from "./StringUtility";
|
||||||
|
|
||||||
|
export const hasItem = (key: StorageKey): boolean => !!sessionStorage.getItem(StorageKey[key]);
|
||||||
|
|
||||||
|
export const getEntryString = (key: StorageKey): string | null => sessionStorage.getItem(StorageKey[key]);
|
||||||
|
|
||||||
|
export const getEntryNumber = (key: StorageKey): number =>
|
||||||
|
StringUtility.toNumber(sessionStorage.getItem(StorageKey[key]));
|
||||||
|
|
||||||
|
export const getEntry = (key: string): string | null => sessionStorage.getItem(key);
|
||||||
|
|
||||||
|
export const removeEntry = (key: StorageKey): void => sessionStorage.removeItem(StorageKey[key]);
|
||||||
|
|
||||||
|
export const setEntryString = (key: StorageKey, value: string): void => sessionStorage.setItem(StorageKey[key], value);
|
||||||
|
|
||||||
|
export const setEntry = (key: string, value: string): void => sessionStorage.setItem(key, value);
|
||||||
|
|
||||||
|
export const setEntryNumber = (key: StorageKey, value: number): void =>
|
||||||
|
sessionStorage.setItem(StorageKey[key], value.toString());
|
@ -1,73 +1,7 @@
|
|||||||
import * as StringUtility from "./StringUtility";
|
import * as LocalStorageUtility from "./LocalStorageUtility";
|
||||||
|
import * as SessionStorageUtility from "./SessionStorageUtility";
|
||||||
export class LocalStorageUtility {
|
|
||||||
public static hasItem(key: StorageKey): boolean {
|
|
||||||
return !!localStorage.getItem(StorageKey[key]);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static getEntryString(key: StorageKey): string | null {
|
|
||||||
return localStorage.getItem(StorageKey[key]);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static getEntryNumber(key: StorageKey): number {
|
|
||||||
return StringUtility.toNumber(localStorage.getItem(StorageKey[key]));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static getEntryBoolean(key: StorageKey): boolean {
|
|
||||||
return StringUtility.toBoolean(localStorage.getItem(StorageKey[key]));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static setEntryString(key: StorageKey, value: string): void {
|
|
||||||
localStorage.setItem(StorageKey[key], value);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static removeEntry(key: StorageKey): void {
|
|
||||||
return localStorage.removeItem(StorageKey[key]);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static setEntryNumber(key: StorageKey, value: number): void {
|
|
||||||
localStorage.setItem(StorageKey[key], value.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
public static setEntryBoolean(key: StorageKey, value: boolean): void {
|
|
||||||
localStorage.setItem(StorageKey[key], value.toString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export class SessionStorageUtility {
|
|
||||||
public static hasItem(key: StorageKey): boolean {
|
|
||||||
return !!sessionStorage.getItem(StorageKey[key]);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static getEntryString(key: StorageKey): string | null {
|
|
||||||
return sessionStorage.getItem(StorageKey[key]);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static getEntryNumber(key: StorageKey): number {
|
|
||||||
return StringUtility.toNumber(sessionStorage.getItem(StorageKey[key]));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static getEntry(key: string): string | null {
|
|
||||||
return sessionStorage.getItem(key);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static removeEntry(key: StorageKey): void {
|
|
||||||
return sessionStorage.removeItem(StorageKey[key]);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static setEntryString(key: StorageKey, value: string): void {
|
|
||||||
sessionStorage.setItem(StorageKey[key], value);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static setEntry(key: string, value: string): void {
|
|
||||||
sessionStorage.setItem(key, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static setEntryNumber(key: StorageKey, value: number): void {
|
|
||||||
sessionStorage.setItem(StorageKey[key], value.toString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
export { LocalStorageUtility, SessionStorageUtility };
|
||||||
export enum StorageKey {
|
export enum StorageKey {
|
||||||
ActualItemPerPage,
|
ActualItemPerPage,
|
||||||
CustomItemPerPage,
|
CustomItemPerPage,
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
import * as ViewModels from "../Contracts/ViewModels";
|
|
||||||
import { userContext } from "../UserContext";
|
|
||||||
|
|
||||||
export class PortalTokenProvider implements ViewModels.TokenProvider {
|
|
||||||
constructor() {}
|
|
||||||
|
|
||||||
public async getAuthHeader(): Promise<Headers> {
|
|
||||||
const bearerToken = userContext.authorizationToken;
|
|
||||||
let fetchHeaders = new Headers();
|
|
||||||
fetchHeaders.append("authorization", bearerToken);
|
|
||||||
return fetchHeaders;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
import { configContext, Platform } from "../ConfigContext";
|
|
||||||
import * as ViewModels from "../Contracts/ViewModels";
|
|
||||||
import { PortalTokenProvider } from "./PortalTokenProvider";
|
|
||||||
|
|
||||||
export class TokenProviderFactory {
|
|
||||||
private constructor() {}
|
|
||||||
|
|
||||||
public static create(): ViewModels.TokenProvider {
|
|
||||||
const platformType = configContext.platform;
|
|
||||||
switch (platformType) {
|
|
||||||
case Platform.Portal:
|
|
||||||
case Platform.Hosted:
|
|
||||||
return new PortalTokenProvider();
|
|
||||||
case Platform.Emulator:
|
|
||||||
default:
|
|
||||||
// should never get into this state
|
|
||||||
throw new Error(`Unknown platform ${platformType}`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -18,7 +18,7 @@ describe("PricingUtils Tests", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("should return false if passed number is not number", () => {
|
it("should return false if passed number is not number", () => {
|
||||||
const value = PricingUtils.isLargerThanDefaultMinRU(null);
|
const value = PricingUtils.isLargerThanDefaultMinRU(undefined);
|
||||||
expect(value).toBe(false);
|
expect(value).toBe(false);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -28,7 +28,7 @@ describe("PricingUtils Tests", () => {
|
|||||||
const value = PricingUtils.computeRUUsagePriceHourly({
|
const value = PricingUtils.computeRUUsagePriceHourly({
|
||||||
serverId: "default",
|
serverId: "default",
|
||||||
requestUnits: 1,
|
requestUnits: 1,
|
||||||
numberOfRegions: null,
|
numberOfRegions: undefined,
|
||||||
multimasterEnabled: false,
|
multimasterEnabled: false,
|
||||||
isAutoscale: false,
|
isAutoscale: false,
|
||||||
});
|
});
|
||||||
@ -38,7 +38,7 @@ describe("PricingUtils Tests", () => {
|
|||||||
const value = PricingUtils.computeRUUsagePriceHourly({
|
const value = PricingUtils.computeRUUsagePriceHourly({
|
||||||
serverId: "default",
|
serverId: "default",
|
||||||
requestUnits: 1,
|
requestUnits: 1,
|
||||||
numberOfRegions: null,
|
numberOfRegions: undefined,
|
||||||
multimasterEnabled: false,
|
multimasterEnabled: false,
|
||||||
isAutoscale: true,
|
isAutoscale: true,
|
||||||
});
|
});
|
||||||
@ -264,11 +264,6 @@ describe("PricingUtils Tests", () => {
|
|||||||
|
|
||||||
describe("getRegionMultiplier()", () => {
|
describe("getRegionMultiplier()", () => {
|
||||||
describe("without multimaster", () => {
|
describe("without multimaster", () => {
|
||||||
it("should return 0 for null", () => {
|
|
||||||
const value = PricingUtils.getRegionMultiplier(null, false);
|
|
||||||
expect(value).toBe(0);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("should return 0 for undefined", () => {
|
it("should return 0 for undefined", () => {
|
||||||
const value = PricingUtils.getRegionMultiplier(undefined, false);
|
const value = PricingUtils.getRegionMultiplier(undefined, false);
|
||||||
expect(value).toBe(0);
|
expect(value).toBe(0);
|
||||||
@ -296,11 +291,6 @@ describe("PricingUtils Tests", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe("with multimaster", () => {
|
describe("with multimaster", () => {
|
||||||
it("should return 0 for null", () => {
|
|
||||||
const value = PricingUtils.getRegionMultiplier(null, true);
|
|
||||||
expect(value).toBe(0);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("should return 0 for undefined", () => {
|
it("should return 0 for undefined", () => {
|
||||||
const value = PricingUtils.getRegionMultiplier(undefined, true);
|
const value = PricingUtils.getRegionMultiplier(undefined, true);
|
||||||
expect(value).toBe(0);
|
expect(value).toBe(0);
|
||||||
@ -450,11 +440,6 @@ describe("PricingUtils Tests", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe("normalizeNumberOfRegions()", () => {
|
describe("normalizeNumberOfRegions()", () => {
|
||||||
it("should return 0 for null", () => {
|
|
||||||
const value = PricingUtils.normalizeNumber(null);
|
|
||||||
expect(value).toBe(0);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("should return 0 for undefined", () => {
|
it("should return 0 for undefined", () => {
|
||||||
const value = PricingUtils.normalizeNumber(undefined);
|
const value = PricingUtils.normalizeNumber(undefined);
|
||||||
expect(value).toBe(0);
|
expect(value).toBe(0);
|
||||||
|
@ -5,23 +5,19 @@ import * as ViewModels from "../Contracts/ViewModels";
|
|||||||
import * as QueryUtils from "./QueryUtils";
|
import * as QueryUtils from "./QueryUtils";
|
||||||
|
|
||||||
describe("Query Utils", () => {
|
describe("Query Utils", () => {
|
||||||
function generatePartitionKeyForPath(path: string): DataModels.PartitionKey {
|
const generatePartitionKeyForPath = (path: string): DataModels.PartitionKey => {
|
||||||
return {
|
return {
|
||||||
paths: [path],
|
paths: [path],
|
||||||
kind: "Hash",
|
kind: "Hash",
|
||||||
version: 2,
|
version: 2,
|
||||||
};
|
};
|
||||||
}
|
};
|
||||||
|
|
||||||
describe("buildDocumentsQueryPartitionProjections()", () => {
|
describe("buildDocumentsQueryPartitionProjections()", () => {
|
||||||
it("should return empty string if partition key is undefined", () => {
|
it("should return empty string if partition key is undefined", () => {
|
||||||
expect(QueryUtils.buildDocumentsQueryPartitionProjections("c", undefined)).toBe("");
|
expect(QueryUtils.buildDocumentsQueryPartitionProjections("c", undefined)).toBe("");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should return empty string if partition key is null", () => {
|
|
||||||
expect(QueryUtils.buildDocumentsQueryPartitionProjections("c", null)).toBe("");
|
|
||||||
});
|
|
||||||
|
|
||||||
it("should replace slashes and embed projection in square braces", () => {
|
it("should replace slashes and embed projection in square braces", () => {
|
||||||
const partitionKey: DataModels.PartitionKey = generatePartitionKeyForPath("/a");
|
const partitionKey: DataModels.PartitionKey = generatePartitionKeyForPath("/a");
|
||||||
const partitionProjection: string = QueryUtils.buildDocumentsQueryPartitionProjections("c", partitionKey);
|
const partitionProjection: string = QueryUtils.buildDocumentsQueryPartitionProjections("c", partitionKey);
|
||||||
|
Loading…
Reference in New Issue
Block a user