Ejemplo n.º 1
0
        public LinkShortenerServiceShould()
        {
            _users = new[] { new User {
                                 UserName = "******"
                             }, new User {
                                 UserName = "******"
                             } };

            _shortLinks = new List <ShortLink>
            {
                new ShortLink("ABCD", "https://google.com", _users.First())
                {
                    CallsCount = 0
                },
                new ShortLink("ABCE", "https://yandex.com", _users.First())
                {
                    CallsCount = 0
                },
                new ShortLink("ABCF", "https://bing.com")
                {
                    CallsCount = 10
                }
            };

            _shortLinksRepository = new Mock <IRepository>();
            _shortLinksRepository.Setup(r => r.GetAllAsync(It.IsAny <User>())).ReturnsAsync(_shortLinks);
            _shortLinksRepository.Setup(r => r.GetAllAsync(_users.First())).ReturnsAsync(_shortLinks.Take(2));

            var collisionResolver = new Mock <ICollisionResolver>();

            collisionResolver.Setup(c => c.FindSuitableShortLinkAsync(It.IsAny <int>())).ReturnsAsync(It.IsAny <string>());

            var factory = new Mock <ICollisionResolverFactory <ICollisionResolver> >();

            factory.Setup(f => f.Create(It.IsAny <Func <string, Task <bool> > >())).Returns(collisionResolver.Object);

            _service = new LinkShortenerService(_shortLinksRepository.Object, factory.Object);
        }
Ejemplo n.º 2
0
 public ShortLinksController(ILinkShortenerService service, UserManager <User> userManager)
 {
     _service     = service;
     _userManager = userManager;
 }