More ViewModel cleanup (#116)

This commit is contained in:
Steve Faulkner
2020-07-27 16:05:25 -05:00
committed by GitHub
parent 2e49ed45c3
commit fea321cd68
97 changed files with 492 additions and 1904 deletions

View File

@@ -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",

View File

@@ -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();
});
}