public void Fill_Properties_When_Message_Received() { //Arrange var viewModel = new PaymentDetailViewModel(); const string description = "Jakis opis", measureUnit = "szt."; const decimal pricePerUnit = 5; const double quantity = 4.7; var paymentDetailToEdit = new PaymentDetail { Description = description, MeasureUnit = measureUnit, PricePerUnit = pricePerUnit, Quantity =quantity }; //Act Messenger.Default.Send(new MessageService(paymentDetailToEdit,EntityState.Edit),MessengerToken.PaymentDetailVm); //Verify Assert.AreEqual(viewModel.Description,description); Assert.AreEqual(viewModel.MeasureUnit,measureUnit); Assert.AreEqual(viewModel.PricePerUnit,pricePerUnit); Assert.AreEqual(viewModel.Quantity,quantity); }
public void CancelChangesToPaymentDEtailCommand_Cannot_Execute_When_Mode_Is_Not_Edit() { //Arrange var viewModel = new PaymentDetailViewModel(); viewModel.Mode = Mode.Default; //Act bool canExecute = viewModel.CancelChangesToPaymentDetailCommand.CanExecute(null); //Verify Assert.IsFalse(canExecute); }
public PaymentViewModel(IUnitOfWork context, IMessageBoxService messageBoxService, IFrameNavigationService navigationService) { NavigationService = navigationService; MessageBoxService = messageBoxService; Context = context; BuyerList = new List<Buyer>(); SaleDate = DateTime.Now; _paymentDetailList = new ItemsChangeObservableCollection<PaymentDetail>(); _paymentDetailList.CollectionChanged+= PaymentDetailList_CollectionChanged; PaymentDetailViewModel = new PaymentDetailViewModel(); RegisterMessages(); }
public void CancelChangesToPaymentDetailCommand_When_Executed_Send_Original_Model_To_PaymentViewModel() { //Arrange PaymentDetail receivedPaymentDetail = null; Messenger.Default.Register<MessageService>(this, MessengerToken.PaymentVm, handleMessage => { receivedPaymentDetail = handleMessage.PaymentDetail; }); var viewModel = new PaymentDetailViewModel(); const string description = "Jakis opis", measureUnit = "szt."; const decimal pricePerUnit = 5; const double quantity = 4.7; var paymentDetailToEdit = new PaymentDetail { Description = description, MeasureUnit = measureUnit, PricePerUnit = pricePerUnit, Quantity = quantity }; Messenger.Default.Send(new MessageService(paymentDetailToEdit, EntityState.Edit), MessengerToken.PaymentDetailVm); //Act viewModel.Description = "nowa opis"; viewModel.Quantity = 5; viewModel.PricePerUnit = 7; viewModel.MeasureUnit = "kg"; viewModel.CancelChangesToPaymentDetailCommand.Execute(null); //Verify Assert.AreEqual(description,receivedPaymentDetail.Description); Assert.AreEqual(measureUnit,receivedPaymentDetail.MeasureUnit); Assert.AreEqual(pricePerUnit,receivedPaymentDetail.PricePerUnit); Assert.AreEqual(measureUnit,receivedPaymentDetail.MeasureUnit); }
public void SavPaymentDetailCommand_When_Executed_In_Edit_Mode_Send_Payment_Detail_With_Computed_Amount() { //Arrange PaymentDetail receivedPaymentDetail = null; Messenger.Default.Register<MessageService>(this, MessengerToken.PaymentVm, handleMessage => { receivedPaymentDetail = handleMessage.PaymentDetail; }); var viewModel = new PaymentDetailViewModel { Description = "Jakis opis", MeasureUnit = "szt.", PricePerUnit = 5, Quantity = 4.6, Mode = Mode.Edit }; decimal amount = Math.Round((decimal)viewModel.Quantity * viewModel.PricePerUnit,2); //Act viewModel.SavePaymentDetailCommand.Execute(null); //Verify Assert.IsTrue(receivedPaymentDetail.Amount==amount); }
public void SavePaymentDetailCommand_When_Executed_In_Mode_Add_Send_Payment_Detail_To_InvoiceViewModel_With_EntityStateAdd() { //Arrange PaymentDetail receivedPaymentDetail = null; var receivedState = EntityState.Default; Messenger.Default.Register<MessageService>(this,MessengerToken.PaymentVm,handleMessage=> { receivedPaymentDetail = handleMessage.PaymentDetail; receivedState = handleMessage.EntityState; }); var viewModel = new PaymentDetailViewModel { Description = "Jakis opis", MeasureUnit = "szt.", PricePerUnit = 5, Quantity = 4.6 }; //Act viewModel.SavePaymentDetailCommand.Execute(null); //Verify Assert.IsNotNull(receivedPaymentDetail); Assert.IsTrue(receivedState==EntityState.Add); }
public void SavePaymentDetailCommand_Cannot_Execute_When_Quantity_Is_Less_Or_Equal_To_Zero(double quantity) { //Arrange var viewModel = new PaymentDetailViewModel { Description = "Jakis opis", MeasureUnit = "szt.", PricePerUnit = 5, Quantity = quantity }; //Act bool canExecute = viewModel.SavePaymentDetailCommand.CanExecute(null); //verify Assert.IsFalse(canExecute); }
public void SavePaymentDetailCommand_Cannot_Execute_When_Product_Of_Quantity_And_PricePerUnit_Is_Greater_Than_Allowed_Value() { //Arrange var viewModel = new PaymentDetailViewModel { Description = "Jakis opis", MeasureUnit = "szt.", PricePerUnit = 7158276, Quantity = 4.6, }; //Act bool canExecute = viewModel.SavePaymentDetailCommand.CanExecute(null); //Verify Assert.IsFalse(canExecute); }
public void SavePaymentDetailCommand_Cannot_Execute_When_NumberOfProductsInPayment_Is_Greater_Than_Three() { //Arrange var viewModel = new PaymentDetailViewModel { Description = "Jakis opis", MeasureUnit = "szt.", PricePerUnit = 71, Quantity = 4.6, NumberOfProductsInPayment = 4 }; //Act bool canExecute = viewModel.SavePaymentDetailCommand.CanExecute(null); //Verify Assert.IsFalse(canExecute); }
public void SavePaymentDetailCommand_Cannot_Execute_When_MeasureUnit_Is_Null() { //Arrange var viewModel = new PaymentDetailViewModel { Description = "dfgdfg", MeasureUnit = null, PricePerUnit = 5, Quantity = 4.5 }; //Act bool canExecute = viewModel.SavePaymentDetailCommand.CanExecute(null); //verify Assert.IsFalse(canExecute); }
public void SavePaymentDetailCommand_Cannot_Execute_When_MeasureUnit_Has_More_Than_10_Char() { //Arrange string measureUnit = GetStringWithLengthOf(11); var viewModel = new PaymentDetailViewModel { Description = "Jakis opis", MeasureUnit = measureUnit, PricePerUnit = 5, Quantity = 4.5 }; //Act bool canExecute = viewModel.SavePaymentDetailCommand.CanExecute(null); //verify Assert.IsFalse(canExecute); }
public void PaymentDetailViewModel_Receives_Message_With_Number_Of_Products_In_PaymentDetailList_In_PaymentViewModel() { //Arrange var viewModel = new PaymentDetailViewModel { Description = "Jakis opis", MeasureUnit = "szt.", PricePerUnit = 71, Quantity = 4.6, NumberOfProductsInPayment = 0 }; const int numberOfProductsInPayment = 2; //Act Messenger.Default.Send(numberOfProductsInPayment,MessengerToken.PaymentDetailVm); //Verify Assert.IsTrue(numberOfProductsInPayment==viewModel.NumberOfProductsInPayment); }