mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-12-21 18:01:39 +00:00
More ViewModel cleanup (#116)
This commit is contained in:
@@ -71,12 +71,12 @@ describe("Default Experience Utility", () => {
|
||||
});
|
||||
|
||||
describe("getDefaultExperienceFromDatabaseAccount()", () => {
|
||||
function runScenario(databaseAccount: ViewModels.DatabaseAccount, expectedDefaultExperience: string): void {
|
||||
function runScenario(databaseAccount: DataModels.DatabaseAccount, expectedDefaultExperience: string): void {
|
||||
const resolvedExperience = DefaultExperienceUtility.getDefaultExperienceFromDatabaseAccount(databaseAccount);
|
||||
expect(resolvedExperience).toEqual(expectedDefaultExperience);
|
||||
}
|
||||
|
||||
const databaseAccountWithWrongTagsAndCapabilities: ViewModels.DatabaseAccount = {
|
||||
const databaseAccountWithWrongTagsAndCapabilities: DataModels.DatabaseAccount = {
|
||||
id: "test",
|
||||
kind: "GlobalDocumentDB",
|
||||
name: "test",
|
||||
@@ -99,7 +99,7 @@ describe("Default Experience Utility", () => {
|
||||
}
|
||||
};
|
||||
|
||||
const databaseAccountWithApiKind: ViewModels.DatabaseAccount = {
|
||||
const databaseAccountWithApiKind: DataModels.DatabaseAccount = {
|
||||
id: "test",
|
||||
kind: Constants.AccountKind.MongoDB,
|
||||
name: "test",
|
||||
|
||||
@@ -1,18 +1,16 @@
|
||||
import * as _ from "underscore";
|
||||
import * as Constants from "../Common/Constants";
|
||||
import * as DataModels from "../Contracts/DataModels";
|
||||
import * as ViewModels from "../Contracts/ViewModels";
|
||||
|
||||
export class DefaultExperienceUtility {
|
||||
public static getDefaultExperienceFromDatabaseAccount(databaseAccount: ViewModels.DatabaseAccount): string {
|
||||
public static getDefaultExperienceFromDatabaseAccount(databaseAccount: DataModels.DatabaseAccount): string {
|
||||
if (!databaseAccount) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const kind: string =
|
||||
databaseAccount && databaseAccount.kind && databaseAccount.kind && databaseAccount.kind.toLowerCase();
|
||||
const capabilities: ViewModels.Capability[] =
|
||||
(databaseAccount.properties && databaseAccount.properties.capabilities) || [];
|
||||
const capabilities = (databaseAccount.properties && databaseAccount.properties.capabilities) || [];
|
||||
|
||||
return DefaultExperienceUtility._getDefaultExperience(kind, capabilities);
|
||||
}
|
||||
@@ -61,7 +59,7 @@ export class DefaultExperienceUtility {
|
||||
}
|
||||
}
|
||||
|
||||
private static _getDefaultExperience(kind: string, capabilities: ViewModels.Capability[]): string {
|
||||
private static _getDefaultExperience(kind: string, capabilities: DataModels.Capability[]): string {
|
||||
const defaultDefaultExperience: string = Constants.DefaultAccountExperience.DocumentDB;
|
||||
const defaultExperienceFromKind: string = DefaultExperienceUtility._getDefaultExperienceFromAccountKind(kind);
|
||||
const defaultExperienceFromCapabilities: string = DefaultExperienceUtility._getDefaultExperienceFromAccountCapabilities(
|
||||
@@ -95,7 +93,7 @@ export class DefaultExperienceUtility {
|
||||
return null;
|
||||
}
|
||||
|
||||
private static _getDefaultExperienceFromAccountCapabilities(capabilities: ViewModels.Capability[]): string {
|
||||
private static _getDefaultExperienceFromAccountCapabilities(capabilities: DataModels.Capability[]): string {
|
||||
if (!capabilities) {
|
||||
return null;
|
||||
}
|
||||
@@ -104,15 +102,12 @@ export class DefaultExperienceUtility {
|
||||
return null;
|
||||
}
|
||||
|
||||
const enableTable: ViewModels.Capability = DefaultExperienceUtility._findCapability(
|
||||
capabilities,
|
||||
Constants.CapabilityNames.EnableTable
|
||||
);
|
||||
const enableTable = DefaultExperienceUtility._findCapability(capabilities, Constants.CapabilityNames.EnableTable);
|
||||
if (enableTable) {
|
||||
return Constants.DefaultAccountExperience.Table;
|
||||
}
|
||||
|
||||
const enableGremlin: ViewModels.Capability = DefaultExperienceUtility._findCapability(
|
||||
const enableGremlin = DefaultExperienceUtility._findCapability(
|
||||
capabilities,
|
||||
Constants.CapabilityNames.EnableGremlin
|
||||
);
|
||||
@@ -120,7 +115,7 @@ export class DefaultExperienceUtility {
|
||||
return Constants.DefaultAccountExperience.Graph;
|
||||
}
|
||||
|
||||
const enableCassandra: ViewModels.Capability = DefaultExperienceUtility._findCapability(
|
||||
const enableCassandra = DefaultExperienceUtility._findCapability(
|
||||
capabilities,
|
||||
Constants.CapabilityNames.EnableCassandra
|
||||
);
|
||||
@@ -131,8 +126,8 @@ export class DefaultExperienceUtility {
|
||||
return null;
|
||||
}
|
||||
|
||||
private static _findCapability(capabilities: ViewModels.Capability[], capabilityName: string): ViewModels.Capability {
|
||||
return _.find(capabilities, (capability: ViewModels.Capability) => {
|
||||
private static _findCapability(capabilities: DataModels.Capability[], capabilityName: string): DataModels.Capability {
|
||||
return _.find(capabilities, capability => {
|
||||
return capability && capability.name && capability.name.toLowerCase() === capabilityName.toLowerCase();
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user