public void GetTimetableAvailableTickets_Successfully_Test()
        {
            var theaterServiceMock = new Mock <ITheaterService>();

            Guid timetableId = new Guid();

            theaterServiceMock.Setup(x => x.GetTimetableAvailableTickets(timetableId));

            var controller   = new TheaterController(theaterServiceMock.Object);
            var actualResult = controller.GetTimetableAvailableTickets(timetableId);

            var okResult     = (OkObjectResult)actualResult;
            var asJson       = JsonConvert.SerializeObject(okResult.Value);
            var deserialized = JsonConvert.DeserializeObject <Dictionary <string, object> >(asJson);

            Assert.IsTrue((bool)deserialized["Success"]);

            theaterServiceMock.VerifyAll();
        }
        public void GetTimetableAvailableTickets_InternalServerError_Test()
        {
            var theaterServiceMock = new Mock <ITheaterService>();

            Guid timetableId = new Guid();

            theaterServiceMock.Setup(x => x.GetTimetableAvailableTickets(timetableId))
            .Throws <Exception>();

            var controller   = new TheaterController(theaterServiceMock.Object);
            var actualResult = controller.GetTimetableAvailableTickets(timetableId);

            var badRequestResult = (ObjectResult)actualResult;
            var asJson           = JsonConvert.SerializeObject(badRequestResult.Value);
            var deserialized     = JsonConvert.DeserializeObject <Dictionary <string, object> >(asJson);

            Assert.IsTrue((bool)deserialized["Success"] == false);

            theaterServiceMock.VerifyAll();
        }