예제 #1
0
        public async void CreateShortenUrlWithValidCodeOrEmpty(string code, string url)
        {
            var shortenUrlDTO = new ShortenUrlDTO {
                Code = code, Url = url
            };

            var ShortenUrlRepostory = new Mock <IShortenUrlRepository>();

            ShortenUrlRepostory.Setup(p => p.GetShortenUrl(It.IsAny <string>())).Returns(Task.FromResult <ShortenUrl>(null));
            ShortenUrlRepostory.Setup(p => p.InsertShortenUrl(It.IsAny <ShortenUrlDTO>()));

            var shortenUrlService = new ShortenUrlService(ShortenUrlRepostory.Object, new CodeService());

            var result = await shortenUrlService.CreateShortenUrl(shortenUrlDTO);

            if (string.IsNullOrEmpty(code))
            {
                Assert.NotEmpty(result.Code);
            }
            else
            {
                Assert.Equal(code, result.Code);
            }

            Assert.Equal(6, result.Code.Length);
        }
예제 #2
0
        public async void CreateShortenUrlExistingCode(string code, string url)
        {
            var shortenUrlDTO = new ShortenUrlDTO {
                Code = code, Url = url
            };

            var ShortenUrlRepostory = new Mock <IShortenUrlRepository>();

            ShortenUrlRepostory.Setup(p => p.GetShortenUrl(It.IsAny <string>())).Returns(Task.FromResult <ShortenUrl>(new ShortenUrl()));
            ShortenUrlRepostory.Setup(p => p.InsertShortenUrl(It.IsAny <ShortenUrlDTO>()));

            var shortenUrlService = new ShortenUrlService(ShortenUrlRepostory.Object, new CodeService());


            await Assert.ThrowsAsync <ConflictException>(() => shortenUrlService.CreateShortenUrl(shortenUrlDTO));
        }