Example #1
0
        public async Task <IActionResult> Edit(int id, SaleCUViewModel sale)
        {
            if (id != sale.SaleID)
            {
                return(this.NotFound());
            }

            if (this.ModelState.IsValid)
            {
                try
                {
                    await this.saleService.UpdateSaleAsync(
                        sale.SaleID, sale.ClientID, sale.ProductDiscount,
                        sale.OrderDate, (sale.DeadlineDate - sale.OrderDate).Days,
                        sale.DeliveryDate, sale.AddressID, sale.CityID, sale.CountryID);
                }
                catch (Exception ex)
                {
                    this.ModelState.AddModelError("Error", ex.Message);
                }
                return(this.RedirectToAction(nameof(Index)));
                //return this.View(sale);
            }

            this.ViewData["Clients"]   = new SelectList(await this.clientService.GetAllClientsAsync(), "ClientID", "Name", sale.ClientID);
            this.ViewData["Addresses"] = new SelectList(await this.addressService.GetAllAddressesAsync(), "AddressID", "Name", sale.AddressID);
            this.ViewData["Cities"]    = new SelectList(await this.cityService.GetAllCitiesAsync(), "CityID", "Name", sale.CityID);
            this.ViewData["Countries"] = new SelectList(await this.countryService.GetAllCountriesAsync(), "CountryID", "Name", sale.CountryID);

            return(this.View(sale));
        }
        public async Task ReturnResutViewWithProperModel_WhenValidSaleModelIsAndInvalidIdPassed()
        {
            int validSaleId = 1;

            var sale = new SaleCUViewModel
            {
                SaleID          = validSaleId,
                ClientID        = 1,
                DeadlineDate    = new DateTime(2019, 5, 5),
                AddressID       = 1,
                CityID          = 1,
                CountryID       = 1,
                ProductDiscount = 10,
            };

            var sut = CreateController();

            sut.ModelState.AddModelError("error", "error");

            AddressService.Setup(x => x.GetAllAddressesAsync()).ReturnsAsync(new List <Address>());
            CityService.Setup(x => x.GetAllCitiesAsync()).ReturnsAsync(new List <City>());
            CountryService.Setup(x => x.GetAllCountriesAsync()).ReturnsAsync(new List <Country>());
            ClientService.Setup(x => x.GetAllClientsAsync(It.IsAny <int>(), It.IsAny <int>(), "*")).ReturnsAsync(new List <Client>());

            //Act
            var result = await sut.Edit(validSaleId, sale);

            //Assert
            Assert.IsInstanceOfType(result, typeof(ViewResult));
            Assert.IsInstanceOfType((result as ViewResult).Model, typeof(SaleCUViewModel));
            AddressService.Verify(mock => mock.GetAllAddressesAsync(), Times.Once());
            CityService.Verify(mock => mock.GetAllCitiesAsync(), Times.Once());
            CountryService.Verify(mock => mock.GetAllCountriesAsync(), Times.Once());
            ClientService.Verify(mock => mock.GetAllClientsAsync(It.IsAny <int>(), It.IsAny <int>(), "*"), Times.Once());
        }
        public async Task ReturnProper_WhenValidSaleIdIsPassed()
        {
            int validSaleId = 1;

            var sale = new SaleCUViewModel
            {
                SaleID          = validSaleId,
                ClientID        = 1,
                OrderDate       = new DateTime(2019, 5, 5),
                AddressID       = 1,
                CityID          = 1,
                CountryID       = 1,
                ProductDiscount = 10,
                DeadlineDate    = new DateTime(2019, 5, 5).AddDays(1),
                DeliveryDate    = new DateTime(2019, 5, 5)
            };

            var sut = CreateController();

            sut.ModelState.ClearValidationState("error");

            //Act
            var result = await sut.Edit(validSaleId, sale);

            //Assert
            Assert.IsInstanceOfType(result, typeof(RedirectToActionResult));


            SaleService.Verify(mock => mock.UpdateSaleAsync(validSaleId, 1, 10, new DateTime(2019, 5, 5), 1, new DateTime(2019, 5, 5), 1, 1, 1, null), Times.Once());

            AddressService.Verify(mock => mock.GetAllAddressesAsync(), Times.Never());
            CityService.Verify(mock => mock.GetAllCitiesAsync(), Times.Never());
            CountryService.Verify(mock => mock.GetAllCountriesAsync(), Times.Never());
            ClientService.Verify(mock => mock.GetAllClientsAsync(It.IsAny <int>(), It.IsAny <int>(), "*"), Times.Never());
        }
Example #4
0
        public async Task <IActionResult> Create(SaleCUViewModel sale)
        {
            if (this.ModelState.IsValid)
            {
                await this.saleService.CreateSaleAsync(sale.ClientID, sale.ProductDiscount, sale.DeadlineDate, sale.AddressID, sale.CityID, sale.CountryID);

                return(this.RedirectToAction(nameof(Index)));
            }

            this.ViewData["Clients"]   = new SelectList(await this.clientService.GetAllClientsAsync(), "ClientID", "Name", sale.ClientID);
            this.ViewData["Addresses"] = new SelectList(await this.addressService.GetAllAddressesAsync(), "AddressID", "Name", sale.AddressID);
            this.ViewData["Cities"]    = new SelectList(await this.cityService.GetAllCitiesAsync(), "CityID", "Name", sale.CityID);
            this.ViewData["Countries"] = new SelectList(await this.countryService.GetAllCountriesAsync(), "CountryID", "Name", sale.CountryID);

            return(this.View(sale));
        }
        public async Task ReturnNotFoundResult_WhenInvalidSaleIdIsPassed()
        {
            int invalidSaleId = 1;

            var sale = new SaleCUViewModel
            {
                SaleID          = 2,
                ClientID        = 1,
                DeadlineDate    = new DateTime(2019, 5, 5),
                AddressID       = 1,
                CityID          = 1,
                CountryID       = 1,
                ProductDiscount = 10,
            };
            var sut = CreateController();

            //Act
            var result = await sut.Edit(invalidSaleId, sale);

            //Assert
            Assert.IsInstanceOfType(result, typeof(NotFoundResult));
        }