public void When_generate_is_called_then_result_should_not_be_null() { // Arrange string expected = Resource.TypeScript; // Act string result = TypeScript .Config() .IncludeEnums(true) .PrefixClasses(true) .PrefixInterfaces(false) .OrderPropertiesByName(true) .PreserveInheritance(true) .AddClass <ProductBase>() .AddClass <ProductModel>() .AddClass <Tag>() .ExcludeProperty <Category>(nameof(Category.Id)) .AddClass <TestModel>() .ExcludeClass <TestModel>() .TransformClassName(name => { if (name.EndsWith("Model")) { return(name.Substring(0, name.Length - 5)); } return(name); }) .Generate(); // Assert Assert.AreEqual(expected, result); }
public void When_generate_is_called_then_generic_should_not_be_processed() { // Arrange string expected = string.Empty; // Act string result = TypeScript .Config() .AddType(typeof(Lookup <int>)) .GenerateInterfaces(); // Assert Assert.AreEqual(expected, result); }
public void When_generate_is_called_then_generic_should_be_handled_correctly() { // Arrange string expected = "export interface Lookup<T>\r\n{\r\n id: T | null;\r\n name: string | null;\r\n}\r\n\r\n"; // Act string result = TypeScript .Config() .AddType(typeof(Lookup <>)) .GenerateInterfaces(); // Assert Assert.AreEqual(expected, result); }
public void When_generate_is_called_then_enum_should_should_be_converted_to_string_values() { // Arrange string expected = "export enum ProductStatus\r\n{\r\n InStock = 'InStock',\r\n OutOfStock = 'OutOfStock',\r\n}\r\n\r\n"; // Act string result = TypeScript .Config() .UseEnumConversion(EnumConversionType.String) .AddType <ProductStatus>() .GenerateInterfaces(); // Assert Assert.AreEqual(expected, result); }
public void When_generate_is_called_then_enum_should_should_be_converted_to_non_duplicate_string_values() { // Arrange string expected = "export enum ProductType\r\n{\r\n None = 'None',\r\n Bike = 'Bike',\r\n}\r\n\r\n"; // Act string result = TypeScript .Config() .UseEnumConversion(EnumConversionType.String) .AddType <ProductType>() .GenerateClasses(); // Assert Assert.AreEqual(expected, result); }