public void GetScriptTest_Success()
        {
            var script         = new Script();
            var scriptResource = new ScriptResource();

            _scriptRepository.Setup(sr => sr.GetScriptWithTagsAsync(1))
            .Returns(Task.FromResult(script));
            _mapper.Setup(m => m.Map <Script, ScriptResource>(script))
            .Returns(scriptResource);

            var getScriptQuery = new GetScriptQuery.Handler(
                _scriptRepository.Object, _translationService.Object, _mapper.Object);

            var result = getScriptQuery.Handle(
                new GetScriptQuery {
                Id = 1, Language = TranslationService.DefaultLanguageCode
            },
                CancellationToken.None).Result;

            _scriptRepository.Verify(sr => sr.GetScriptWithTagsAsync(1));
            _mapper.Verify(m => m.Map <Script, ScriptResource>(script));
            _translationService.Verify(ts => ts.SetScriptTranslation(TranslationService.DefaultLanguageCode, scriptResource));
            Assert.That(result, Is.Not.Null);
            Assert.That(result, Is.EqualTo(scriptResource));
        }
        public void GetScriptTest_NoneScript_Success()
        {
            _scriptRepository.Setup(sr => sr.GetScriptWithTagsAsync(1))
            .Returns(Task.FromResult(default(Script)));

            var getScriptQuery = new GetScriptQuery.Handler(
                _scriptRepository.Object, _translationService.Object, _mapper.Object);

            Assert.ThrowsAsync <NotFoundException>(() => getScriptQuery.Handle(
                                                       new GetScriptQuery {
                Id = 1, Language = TranslationService.DefaultLanguageCode
            },
                                                       CancellationToken.None));
        }