Refactored unit tests.
This commit is contained in:
parent
641bf1a1ac
commit
c0800ede1e
@ -10,13 +10,16 @@ namespace eShopOnContainers.UnitTests
|
|||||||
{
|
{
|
||||||
public class CatalogViewModelTests
|
public class CatalogViewModelTests
|
||||||
{
|
{
|
||||||
|
public CatalogViewModelTests()
|
||||||
|
{
|
||||||
|
ViewModelLocator.RegisterDependencies(true);
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void AddCatalogItemCommandIsNotNullTest()
|
public void AddCatalogItemCommandIsNotNullTest()
|
||||||
{
|
{
|
||||||
var catalogService = new CatalogMockService();
|
var catalogService = new CatalogMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var catalogViewModel = new CatalogViewModel(catalogService);
|
var catalogViewModel = new CatalogViewModel(catalogService);
|
||||||
|
|
||||||
Assert.NotNull(catalogViewModel.AddCatalogItemCommand);
|
Assert.NotNull(catalogViewModel.AddCatalogItemCommand);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -24,9 +27,7 @@ namespace eShopOnContainers.UnitTests
|
|||||||
public void FilterCommandIsNotNullTest()
|
public void FilterCommandIsNotNullTest()
|
||||||
{
|
{
|
||||||
var catalogService = new CatalogMockService();
|
var catalogService = new CatalogMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var catalogViewModel = new CatalogViewModel(catalogService);
|
var catalogViewModel = new CatalogViewModel(catalogService);
|
||||||
|
|
||||||
Assert.NotNull(catalogViewModel.FilterCommand);
|
Assert.NotNull(catalogViewModel.FilterCommand);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -34,9 +35,7 @@ namespace eShopOnContainers.UnitTests
|
|||||||
public void ClearFilterCommandIsNotNullTest()
|
public void ClearFilterCommandIsNotNullTest()
|
||||||
{
|
{
|
||||||
var catalogService = new CatalogMockService();
|
var catalogService = new CatalogMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var catalogViewModel = new CatalogViewModel(catalogService);
|
var catalogViewModel = new CatalogViewModel(catalogService);
|
||||||
|
|
||||||
Assert.NotNull(catalogViewModel.ClearFilterCommand);
|
Assert.NotNull(catalogViewModel.ClearFilterCommand);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -44,9 +43,7 @@ namespace eShopOnContainers.UnitTests
|
|||||||
public void ProductsPropertyIsNullWhenViewModelInstantiatedTest()
|
public void ProductsPropertyIsNullWhenViewModelInstantiatedTest()
|
||||||
{
|
{
|
||||||
var catalogService = new CatalogMockService();
|
var catalogService = new CatalogMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var catalogViewModel = new CatalogViewModel(catalogService);
|
var catalogViewModel = new CatalogViewModel(catalogService);
|
||||||
|
|
||||||
Assert.Null(catalogViewModel.Products);
|
Assert.Null(catalogViewModel.Products);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,9 +51,7 @@ namespace eShopOnContainers.UnitTests
|
|||||||
public void BrandsPropertyuIsNullWhenViewModelInstantiatedTest()
|
public void BrandsPropertyuIsNullWhenViewModelInstantiatedTest()
|
||||||
{
|
{
|
||||||
var catalogService = new CatalogMockService();
|
var catalogService = new CatalogMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var catalogViewModel = new CatalogViewModel(catalogService);
|
var catalogViewModel = new CatalogViewModel(catalogService);
|
||||||
|
|
||||||
Assert.Null(catalogViewModel.Brands);
|
Assert.Null(catalogViewModel.Brands);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,9 +59,7 @@ namespace eShopOnContainers.UnitTests
|
|||||||
public void BrandPropertyIsNullWhenViewModelInstantiatedTest()
|
public void BrandPropertyIsNullWhenViewModelInstantiatedTest()
|
||||||
{
|
{
|
||||||
var catalogService = new CatalogMockService();
|
var catalogService = new CatalogMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var catalogViewModel = new CatalogViewModel(catalogService);
|
var catalogViewModel = new CatalogViewModel(catalogService);
|
||||||
|
|
||||||
Assert.Null(catalogViewModel.Brand);
|
Assert.Null(catalogViewModel.Brand);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -74,9 +67,7 @@ namespace eShopOnContainers.UnitTests
|
|||||||
public void TypesPropertyIsNullWhenViewModelInstantiatedTest()
|
public void TypesPropertyIsNullWhenViewModelInstantiatedTest()
|
||||||
{
|
{
|
||||||
var catalogService = new CatalogMockService();
|
var catalogService = new CatalogMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var catalogViewModel = new CatalogViewModel(catalogService);
|
var catalogViewModel = new CatalogViewModel(catalogService);
|
||||||
|
|
||||||
Assert.Null(catalogViewModel.Types);
|
Assert.Null(catalogViewModel.Types);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -84,9 +75,7 @@ namespace eShopOnContainers.UnitTests
|
|||||||
public void TypePropertyIsNullWhenViewModelInstantiatedTest()
|
public void TypePropertyIsNullWhenViewModelInstantiatedTest()
|
||||||
{
|
{
|
||||||
var catalogService = new CatalogMockService();
|
var catalogService = new CatalogMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var catalogViewModel = new CatalogViewModel(catalogService);
|
var catalogViewModel = new CatalogViewModel(catalogService);
|
||||||
|
|
||||||
Assert.Null(catalogViewModel.Type);
|
Assert.Null(catalogViewModel.Type);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -94,9 +83,7 @@ namespace eShopOnContainers.UnitTests
|
|||||||
public void IsFilterPropertyIsFalseWhenViewModelInstantiatedTest()
|
public void IsFilterPropertyIsFalseWhenViewModelInstantiatedTest()
|
||||||
{
|
{
|
||||||
var catalogService = new CatalogMockService();
|
var catalogService = new CatalogMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var catalogViewModel = new CatalogViewModel(catalogService);
|
var catalogViewModel = new CatalogViewModel(catalogService);
|
||||||
|
|
||||||
Assert.False(catalogViewModel.IsFilter);
|
Assert.False(catalogViewModel.IsFilter);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -104,7 +91,6 @@ namespace eShopOnContainers.UnitTests
|
|||||||
public async Task ProductsPropertyIsNotNullAfterViewModelInitializationTest()
|
public async Task ProductsPropertyIsNotNullAfterViewModelInitializationTest()
|
||||||
{
|
{
|
||||||
var catalogService = new CatalogMockService();
|
var catalogService = new CatalogMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var catalogViewModel = new CatalogViewModel(catalogService);
|
var catalogViewModel = new CatalogViewModel(catalogService);
|
||||||
|
|
||||||
await catalogViewModel.InitializeAsync(null);
|
await catalogViewModel.InitializeAsync(null);
|
||||||
@ -116,7 +102,6 @@ namespace eShopOnContainers.UnitTests
|
|||||||
public async Task BrandsPropertyIsNotNullAfterViewModelInitializationTest()
|
public async Task BrandsPropertyIsNotNullAfterViewModelInitializationTest()
|
||||||
{
|
{
|
||||||
var catalogService = new CatalogMockService();
|
var catalogService = new CatalogMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var catalogViewModel = new CatalogViewModel(catalogService);
|
var catalogViewModel = new CatalogViewModel(catalogService);
|
||||||
|
|
||||||
await catalogViewModel.InitializeAsync(null);
|
await catalogViewModel.InitializeAsync(null);
|
||||||
@ -128,7 +113,6 @@ namespace eShopOnContainers.UnitTests
|
|||||||
public async Task TypesPropertyIsNotNullAfterViewModelInitializationTest()
|
public async Task TypesPropertyIsNotNullAfterViewModelInitializationTest()
|
||||||
{
|
{
|
||||||
var catalogService = new CatalogMockService();
|
var catalogService = new CatalogMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var catalogViewModel = new CatalogViewModel(catalogService);
|
var catalogViewModel = new CatalogViewModel(catalogService);
|
||||||
|
|
||||||
await catalogViewModel.InitializeAsync(null);
|
await catalogViewModel.InitializeAsync(null);
|
||||||
@ -140,9 +124,7 @@ namespace eShopOnContainers.UnitTests
|
|||||||
public async Task SettingProductsPropertyShouldRaisePropertyChanged()
|
public async Task SettingProductsPropertyShouldRaisePropertyChanged()
|
||||||
{
|
{
|
||||||
bool invoked = false;
|
bool invoked = false;
|
||||||
|
|
||||||
var catalogService = new CatalogMockService();
|
var catalogService = new CatalogMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var catalogViewModel = new CatalogViewModel(catalogService);
|
var catalogViewModel = new CatalogViewModel(catalogService);
|
||||||
|
|
||||||
catalogViewModel.PropertyChanged += (sender, e) =>
|
catalogViewModel.PropertyChanged += (sender, e) =>
|
||||||
@ -159,9 +141,7 @@ namespace eShopOnContainers.UnitTests
|
|||||||
public async Task SettingBrandsPropertyShouldRaisePropertyChanged()
|
public async Task SettingBrandsPropertyShouldRaisePropertyChanged()
|
||||||
{
|
{
|
||||||
bool invoked = false;
|
bool invoked = false;
|
||||||
|
|
||||||
var catalogService = new CatalogMockService();
|
var catalogService = new CatalogMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var catalogViewModel = new CatalogViewModel(catalogService);
|
var catalogViewModel = new CatalogViewModel(catalogService);
|
||||||
|
|
||||||
catalogViewModel.PropertyChanged += (sender, e) =>
|
catalogViewModel.PropertyChanged += (sender, e) =>
|
||||||
@ -178,9 +158,7 @@ namespace eShopOnContainers.UnitTests
|
|||||||
public async Task SettingTypesPropertyShouldRaisePropertyChanged()
|
public async Task SettingTypesPropertyShouldRaisePropertyChanged()
|
||||||
{
|
{
|
||||||
bool invoked = false;
|
bool invoked = false;
|
||||||
|
|
||||||
var catalogService = new CatalogMockService();
|
var catalogService = new CatalogMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var catalogViewModel = new CatalogViewModel(catalogService);
|
var catalogViewModel = new CatalogViewModel(catalogService);
|
||||||
|
|
||||||
catalogViewModel.PropertyChanged += (sender, e) =>
|
catalogViewModel.PropertyChanged += (sender, e) =>
|
||||||
@ -198,7 +176,6 @@ namespace eShopOnContainers.UnitTests
|
|||||||
{
|
{
|
||||||
bool messageReceived = false;
|
bool messageReceived = false;
|
||||||
var catalogService = new CatalogMockService();
|
var catalogService = new CatalogMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var catalogViewModel = new CatalogViewModel(catalogService);
|
var catalogViewModel = new CatalogViewModel(catalogService);
|
||||||
|
|
||||||
Xamarin.Forms.MessagingCenter.Subscribe<CatalogViewModel, CatalogItem>(this, MessageKeys.AddProduct, (sender, arg) =>
|
Xamarin.Forms.MessagingCenter.Subscribe<CatalogViewModel, CatalogItem>(this, MessageKeys.AddProduct, (sender, arg) =>
|
||||||
@ -215,7 +192,6 @@ namespace eShopOnContainers.UnitTests
|
|||||||
{
|
{
|
||||||
bool messageReceived = false;
|
bool messageReceived = false;
|
||||||
var catalogService = new CatalogMockService();
|
var catalogService = new CatalogMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var catalogViewModel = new CatalogViewModel(catalogService);
|
var catalogViewModel = new CatalogViewModel(catalogService);
|
||||||
await catalogViewModel.InitializeAsync(null);
|
await catalogViewModel.InitializeAsync(null);
|
||||||
catalogViewModel.Brand = catalogViewModel.Brands.FirstOrDefault();
|
catalogViewModel.Brand = catalogViewModel.Brands.FirstOrDefault();
|
||||||
@ -234,7 +210,6 @@ namespace eShopOnContainers.UnitTests
|
|||||||
public async Task ClearFilterCommandResetsPropertiesTest()
|
public async Task ClearFilterCommandResetsPropertiesTest()
|
||||||
{
|
{
|
||||||
var catalogService = new CatalogMockService();
|
var catalogService = new CatalogMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var catalogViewModel = new CatalogViewModel(catalogService);
|
var catalogViewModel = new CatalogViewModel(catalogService);
|
||||||
|
|
||||||
await catalogViewModel.InitializeAsync(null);
|
await catalogViewModel.InitializeAsync(null);
|
||||||
|
@ -8,12 +8,15 @@ namespace eShopOnContainers.UnitTests
|
|||||||
{
|
{
|
||||||
public class MainViewModelTests
|
public class MainViewModelTests
|
||||||
{
|
{
|
||||||
|
public MainViewModelTests()
|
||||||
|
{
|
||||||
|
ViewModelLocator.RegisterDependencies(true);
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void SettingsCommandIsNotNullWhenViewModelInstantiatedTest()
|
public void SettingsCommandIsNotNullWhenViewModelInstantiatedTest()
|
||||||
{
|
{
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var mainViewModel = new MainViewModel();
|
var mainViewModel = new MainViewModel();
|
||||||
|
|
||||||
Assert.NotNull(mainViewModel.SettingsCommand);
|
Assert.NotNull(mainViewModel.SettingsCommand);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -21,7 +24,6 @@ namespace eShopOnContainers.UnitTests
|
|||||||
public async Task ViewModelInitializationSendsChangeTabMessageTest()
|
public async Task ViewModelInitializationSendsChangeTabMessageTest()
|
||||||
{
|
{
|
||||||
bool messageReceived = false;
|
bool messageReceived = false;
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var mainViewModel = new MainViewModel();
|
var mainViewModel = new MainViewModel();
|
||||||
var tabParam = new TabParameter { TabIndex = 2 };
|
var tabParam = new TabParameter { TabIndex = 2 };
|
||||||
|
|
||||||
@ -37,7 +39,6 @@ namespace eShopOnContainers.UnitTests
|
|||||||
[Fact]
|
[Fact]
|
||||||
public void IsBusyPropertyIsFalseWhenViewModelInstantiatedTest()
|
public void IsBusyPropertyIsFalseWhenViewModelInstantiatedTest()
|
||||||
{
|
{
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var mainViewModel = new MainViewModel();
|
var mainViewModel = new MainViewModel();
|
||||||
Assert.False(mainViewModel.IsBusy);
|
Assert.False(mainViewModel.IsBusy);
|
||||||
}
|
}
|
||||||
@ -45,11 +46,8 @@ namespace eShopOnContainers.UnitTests
|
|||||||
[Fact]
|
[Fact]
|
||||||
public async Task IsBusyPropertyIsTrueAfterViewModelInitializationTest()
|
public async Task IsBusyPropertyIsTrueAfterViewModelInitializationTest()
|
||||||
{
|
{
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var mainViewModel = new MainViewModel();
|
var mainViewModel = new MainViewModel();
|
||||||
|
|
||||||
await mainViewModel.InitializeAsync(null);
|
await mainViewModel.InitializeAsync(null);
|
||||||
|
|
||||||
Assert.True(mainViewModel.IsBusy);
|
Assert.True(mainViewModel.IsBusy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,10 +5,14 @@ namespace eShopOnContainers.UnitTests
|
|||||||
{
|
{
|
||||||
public class MockViewModelTests
|
public class MockViewModelTests
|
||||||
{
|
{
|
||||||
|
public MockViewModelTests()
|
||||||
|
{
|
||||||
|
ViewModelLocator.RegisterDependencies(true);
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void CheckValidationFailsWhenPropertiesAreEmptyTest()
|
public void CheckValidationFailsWhenPropertiesAreEmptyTest()
|
||||||
{
|
{
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var mockViewModel = new MockViewModel();
|
var mockViewModel = new MockViewModel();
|
||||||
|
|
||||||
bool isValid = mockViewModel.Validate();
|
bool isValid = mockViewModel.Validate();
|
||||||
@ -25,7 +29,6 @@ namespace eShopOnContainers.UnitTests
|
|||||||
[Fact]
|
[Fact]
|
||||||
public void CheckValidationFailsWhenOnlyForenameHasDataTest()
|
public void CheckValidationFailsWhenOnlyForenameHasDataTest()
|
||||||
{
|
{
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var mockViewModel = new MockViewModel();
|
var mockViewModel = new MockViewModel();
|
||||||
mockViewModel.Forename.Value = "John";
|
mockViewModel.Forename.Value = "John";
|
||||||
|
|
||||||
@ -43,7 +46,6 @@ namespace eShopOnContainers.UnitTests
|
|||||||
[Fact]
|
[Fact]
|
||||||
public void CheckValidationPassesWhenOnlySurnameHasDataTest()
|
public void CheckValidationPassesWhenOnlySurnameHasDataTest()
|
||||||
{
|
{
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var mockViewModel = new MockViewModel();
|
var mockViewModel = new MockViewModel();
|
||||||
mockViewModel.Surname.Value = "Smith";
|
mockViewModel.Surname.Value = "Smith";
|
||||||
|
|
||||||
@ -61,7 +63,6 @@ namespace eShopOnContainers.UnitTests
|
|||||||
[Fact]
|
[Fact]
|
||||||
public void CheckValidationPassesWhenBothPropertiesHaveDataTest()
|
public void CheckValidationPassesWhenBothPropertiesHaveDataTest()
|
||||||
{
|
{
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var mockViewModel = new MockViewModel();
|
var mockViewModel = new MockViewModel();
|
||||||
mockViewModel.Forename.Value = "John";
|
mockViewModel.Forename.Value = "John";
|
||||||
mockViewModel.Surname.Value = "Smith";
|
mockViewModel.Surname.Value = "Smith";
|
||||||
@ -81,8 +82,6 @@ namespace eShopOnContainers.UnitTests
|
|||||||
public void SettingForenamePropertyShouldRaisePropertyChanged()
|
public void SettingForenamePropertyShouldRaisePropertyChanged()
|
||||||
{
|
{
|
||||||
bool invoked = false;
|
bool invoked = false;
|
||||||
|
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var mockViewModel = new MockViewModel();
|
var mockViewModel = new MockViewModel();
|
||||||
|
|
||||||
mockViewModel.Forename.PropertyChanged += (sender, e) =>
|
mockViewModel.Forename.PropertyChanged += (sender, e) =>
|
||||||
@ -99,8 +98,6 @@ namespace eShopOnContainers.UnitTests
|
|||||||
public void SettingSurnamePropertyShouldRaisePropertyChanged()
|
public void SettingSurnamePropertyShouldRaisePropertyChanged()
|
||||||
{
|
{
|
||||||
bool invoked = false;
|
bool invoked = false;
|
||||||
|
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var mockViewModel = new MockViewModel();
|
var mockViewModel = new MockViewModel();
|
||||||
|
|
||||||
mockViewModel.Surname.PropertyChanged += (sender, e) =>
|
mockViewModel.Surname.PropertyChanged += (sender, e) =>
|
||||||
|
@ -9,13 +9,16 @@ namespace eShopOnContainers.UnitTests
|
|||||||
{
|
{
|
||||||
public class OrderViewModelTests
|
public class OrderViewModelTests
|
||||||
{
|
{
|
||||||
|
public OrderViewModelTests()
|
||||||
|
{
|
||||||
|
ViewModelLocator.RegisterDependencies(true);
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void OrderPropertyIsNullWhenViewModelInstantiatedTest()
|
public void OrderPropertyIsNullWhenViewModelInstantiatedTest()
|
||||||
{
|
{
|
||||||
var orderService = new OrderMockService();
|
var orderService = new OrderMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var orderViewModel = new OrderDetailViewModel(orderService);
|
var orderViewModel = new OrderDetailViewModel(orderService);
|
||||||
|
|
||||||
Assert.Null(orderViewModel.Order);
|
Assert.Null(orderViewModel.Order);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -23,7 +26,6 @@ namespace eShopOnContainers.UnitTests
|
|||||||
public async Task OrderPropertyIsNotNullAfterViewModelInitializationTest()
|
public async Task OrderPropertyIsNotNullAfterViewModelInitializationTest()
|
||||||
{
|
{
|
||||||
var orderService = new OrderMockService();
|
var orderService = new OrderMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var orderViewModel = new OrderDetailViewModel(orderService);
|
var orderViewModel = new OrderDetailViewModel(orderService);
|
||||||
|
|
||||||
var order = await orderService.GetOrderAsync(1, GlobalSetting.Instance.AuthToken);
|
var order = await orderService.GetOrderAsync(1, GlobalSetting.Instance.AuthToken);
|
||||||
@ -36,9 +38,7 @@ namespace eShopOnContainers.UnitTests
|
|||||||
public async Task SettingOrderPropertyShouldRaisePropertyChanged()
|
public async Task SettingOrderPropertyShouldRaisePropertyChanged()
|
||||||
{
|
{
|
||||||
bool invoked = false;
|
bool invoked = false;
|
||||||
|
|
||||||
var orderService = new OrderMockService();
|
var orderService = new OrderMockService();
|
||||||
ViewModelLocator.RegisterDependencies(true);
|
|
||||||
var orderViewModel = new OrderDetailViewModel(orderService);
|
var orderViewModel = new OrderDetailViewModel(orderService);
|
||||||
|
|
||||||
orderViewModel.PropertyChanged += (sender, e) =>
|
orderViewModel.PropertyChanged += (sender, e) =>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user