Esempio n. 1
0
        public void EnsureModelHasErrorsIfAny()
        {
            var system = A.Fake <IServiceRegistry>();

            A.CallTo(() => system.ShiftService.LoadShift(null)).WithAnyArguments().Returns(new LoadShiftResponse()
            {
                Shift = new ShiftDto()
            });
            A.CallTo(() => system.ShiftService.LoadShifts(null)).WithAnyArguments().Returns(new LoadShiftCollectionResponse()
            {
                Shifts = new List <ShiftDto>()
            });
            A.CallTo(() => system.ShiftService.DeleteShift(null)).WithAnyArguments().Returns(new GenericServiceResponse {
                NotificationCollection = NotificationCollection.CreateEmpty().AddError("error")
            });

            var action = new DeleteShiftAction <dynamic>(system)
            {
                OnComplete = (m) => new { Model = m },
            };

            var result = action.Invoke(0, 0, 0).Model as ShiftsResultViewModel;

            Assert.IsTrue(result.HasErrors);
        }
Esempio n. 2
0
        public JsonResult DeleteShift(int shiftId, int waiterId, string containerId)
        {
            var action = new DeleteShiftAction <JsonResult>(ServiceRegistry)
            {
                OnComplete = (model) => new JsonResult()
                {
                    Data = new { ShiftContainerId = containerId, Payload = this.RenderPartialViewToString("ShiftsResult", model) }
                }
            };

            return(action.Invoke(shiftId, ResolveRestaurantId(), waiterId));
        }
Esempio n. 3
0
        public void EnsureGuardAgainstNullOnComplete()
        {
            var error = "";

            try
            {
                var action = new DeleteShiftAction <dynamic>(A.Fake <IServiceRegistry>())
                {
                };

                action.Invoke(0, 0, 0);
            }
            catch (Exception ex)
            {
                error = ex.Message;
            }

            Assert.IsTrue(error.Contains("OnComplete"));
        }