public void ReturnOnTime_Confirmed()
        {
            //arrange
            _view.ConfirmReturnOnTime().Returns(true); // юзер соглашается "Вернуть фильм"

            var testMovieCopy = new MovieCopy(9999, "TEST COMMENT", 50)
            {
                Available = false
            };                                                                               // копия у кого-то в аренде

            // вернули в срок, следовательно ReturnDate = ExpectedEndDate;
            var startDate       = new DateTime(2020, 01, 20);
            var expectedEndDate = new DateTime(2020, 01, 25);
            var testLeasing     = new Leasing(startDate, expectedEndDate, 0, 0, 50)
            {
                MovieCopy = testMovieCopy
            };

            _view.CurrentLeasing = testLeasing;

            testLeasing.ReturnOnTime();

            //act
            _presenter.ReturnOnTime();

            //assert
            Assert.AreEqual(testLeasing.TotalPrice, _view.CurrentLeasing.TotalPrice);
            Assert.AreEqual(testLeasing.MovieCopy.Available, _view.CurrentLeasing.MovieCopy.Available);
            Assert.AreEqual(testLeasing.ReturnDate, _view.CurrentLeasing.ReturnDate);

            _view.Received().Close();
        }
Пример #2
0
        public void ReturnOnTime()
        {
            if (!_returnView.ConfirmReturnOnTime())
            {
                return;
            }
            var leasing = _returnView.CurrentLeasing;

            leasing.ReturnOnTime();

            _context.SaveChanges();
            _returnView.Close();
        }