public void TorrentDoneTestCaseOk()
        {
            var item = new DownloadItem {
                Type = DownloadType.DDL, State = DownloadState.Downloading, Hash = "ABCD"
            };

            helper.Setup(x => x.IsLocalCall(It.IsAny <HttpContext>())).Returns(true);

            repository.Setup(x => x.FindAllUnarchived()).Returns(new List <DownloadItem> {
                item
            });

            authorizationService
            .Setup(
                x => x.AuthorizeAsync(
                    It.IsAny <ClaimsPrincipal>(),
                    It.IsAny <DownloadItem>(),
                    DownloadItemPolicies.TorrentDonePolicy))
            .Returns(Task.FromResult(AuthorizationResult.Success()));

            var controller = new TorrentDoneController(logger.Object, repository.Object, authorizationService.Object,
                                                       torrentService.Object, dispatcher.Object);

            var response = controller.TorrentDone(helper.Object, "ABCD");

            Assert.AreEqual(200, response.StatusCode);
        }
        public void TorrentDoneTestCaseNotLocallCall()
        {
            helper.Setup(x => x.IsLocalCall(It.IsAny <HttpContext>())).Returns(false);

            var controller = new TorrentDoneController(logger.Object, repository.Object, authorizationService.Object,
                                                       torrentService.Object, dispatcher.Object);

            var response = controller.TorrentDone(helper.Object, "ABCD");

            Assert.AreEqual(403, response.StatusCode);
        }
        public void TorrentDoneTestCaseNotFound()
        {
            helper.Setup(x => x.IsLocalCall(It.IsAny <HttpContext>())).Returns(true);

            repository.Setup(x => x.FindAllUnarchived()).Returns(new List <DownloadItem>());

            var controller = new TorrentDoneController(logger.Object, repository.Object, authorizationService.Object,
                                                       torrentService.Object, dispatcher.Object);

            var response = controller.TorrentDone(helper.Object, "ABCD");

            Assert.AreEqual(404, response.StatusCode);
        }