private NcChannel GenerateChannelWithSubscribers(int channelId, int countSubscribers)
        {
            var result = new NcChannel {
                Id = channelId
            };
            var subscribers = new NcChannelSubscriber[countSubscribers];

            for (int i = 0; i < subscribers.Length; i++)
            {
                var userId = Guid.NewGuid();
                subscribers[i] = new NcChannelSubscriber
                {
                    Id = channelId,
                    //Channel = result,
                    UserId = userId,
                    User   = new ApplicationUser
                    {
                        Id = userId,
                    }
                };
            }

            result.NcChannelSubscriber = subscribers;

            return(result);
        }
Ejemplo n.º 2
0
        public void Details()
        {
            // Arrange
            var id        = 20;
            var name      = "Kanal";
            var scenarios = new List <NcScenario>();

            var channel = new NcChannel {
                Id = id, Name = name
            };
            var mock = new Mock <IChannelManager>();

            mock.Setup(x => x.FindById(id)).Returns(channel);
            mock.Setup(x => x.GetScenariosByChannelId(id)).Returns(scenarios);

            var expected = new ChannelViewModel
            {
                Id        = id,
                Name      = name,
                Scenarios = mapper.MapEnumerable <ScenarioListDTO>(scenarios).ToList(),
            }.ToExpectedObject();

            // Act
            var controller = new ChannelsController(mock.Object, mapper);
            var result     = controller.Details(id);

            // Assert
            var actual = (result as ViewResult)?.Model;

            expected.ShouldEqual(actual);
        }
Ejemplo n.º 3
0
        public List <ApplicationUser> GetUsersByChannel(NcChannel channel)
        {
            var users = new List <ApplicationUser>();

            foreach (var subscribers in channelRepository.FindById(channel.Id).NcChannelSubscriber)
            {
                users.Add(subscribers.User);
            }
            return(users);
        }
Ejemplo n.º 4
0
        public async Task Put_Return_CorrectViewModel(int id, string oldName, string newName)
        {
            // Arrange
            var scenarios  = new List <NcScenario>();
            var oldChannel = new NcChannel
            {
                Id   = id,
                Name = oldName,
            };

            var newChannel = new NcChannel
            {
                Id   = id,
                Name = newName,
            };

            var repository = new Mock <IChannelRepository>();

            repository.Setup(x => x.FindById(id)).Returns(oldChannel);
            repository.Setup(x => x.UpdateAsync(It.IsAny <NcChannel>())).Returns(Task.CompletedTask);

            var expected = new ChannelViewModel
            {
                Id        = id,
                Name      = newName,
                Scenarios = mapper.MapEnumerable <ScenarioListDTO>(scenarios).ToList(),
            }.ToExpectedObject();

            var controller =
                new ChannelsController(
                    It.IsAny <ILogger <ChannelsController> >(),
                    repository.Object,
                    mapper,
                    It.IsAny <IChannelManager>(),
                    It.IsAny <ApplicationUserManager>())
                .SetValidator();

            // Act
            var controllerResult = await controller.Put(id, JsonConvert.SerializeObject(newChannel));

            var actual = (controllerResult as OkObjectResult)?.Value;

            // Assert
            expected.ShouldEqual(actual);
        }
Ejemplo n.º 5
0
        public async Task Delete_Call_RepositoryDelete()
        {
            // act
            var channel = new NcChannel();

            var repository = new Mock <IChannelRepository>();

            repository.Setup(x => x.DeleteAsync(It.IsAny <int>())).Returns(Task.CompletedTask);

            var controller =
                new ChannelsController(It.IsAny <ILogger <ChannelsController> >(),
                                       repository.Object, mapper, It.IsAny <ChannelManager>(), null)
                .SetValidator();

            // arrange
            await controller.Delete(It.IsAny <int>());

            // assert
            repository.VerifyAll();
        }
Ejemplo n.º 6
0
        public async Task Put_Call_RepositoryFindById()
        {
            // act
            var channel = new NcChannel();

            var repository = new Mock <IChannelRepository>();

            repository.Setup(x => x.FindById(It.IsAny <int>())).Returns(channel);

            var controller =
                new ChannelsController(It.IsAny <ILogger <ChannelsController> >(),
                                       repository.Object, mapper, It.IsAny <ChannelManager>(), null)
                .SetValidator();

            // arrange
            await controller.Put(It.IsAny <int>(), It.IsAny <string>());

            // assert
            repository.VerifyAll();
        }
Ejemplo n.º 7
0
        public async Task Load_Call_RepositoryGetAll()
        {
            // act
            var id      = It.IsAny <int>();
            var channel = new NcChannel();

            var repository = new Mock <IChannelRepository>();

            var controller =
                new ChannelsController(
                    It.IsAny <ILogger <ChannelsController> >(),
                    repository.Object,
                    mapper,
                    It.IsAny <IChannelManager>(),
                    It.IsAny <ApplicationUserManager>())
                .SetValidator();

            // arrange
            await controller.Delete(id);

            // assert
            repository.Verify(x => x.DeleteAsync(id), Times.Once());
        }
        public void GetUsersByChannel_ReturnCorrectResult(int channelIndex, int expectedCount)
        {
            // Arrange
            var channels = new NcChannel[]
            {
                GenerateChannelWithSubscribers(1, 2),
                GenerateChannelWithSubscribers(2, 4),
                GenerateChannelWithSubscribers(3, 7),
                GenerateChannelWithSubscribers(4, 1),
            };
            var testChannel = channels[channelIndex];

            var channelRepo = new Mock <IChannelRepository>();

            channelRepo.Setup(x => x.FindById(testChannel.Id)).Returns(testChannel);
            channelRepo.Setup(x => x.GetSubscribersByChannel(testChannel.Id))
            .Returns(testChannel.NcChannelSubscriber.ToList());

            IChannelManager channelManager = new ChannelManager(
                channelRepo.Object,
                It.IsAny <IScenarioRepository>()
                );
            var expected = testChannel.NcChannelSubscriber
                           .Select(x => x.User)
                           .ToList();

            // udelat klon hledaneho kanalu,
            // aby nemohla testovana metoda ovlivnit promennou expected
            var findingChannel = testChannel.Clone();

            // Act
            var actual = channelManager.GetUsersByChannel(findingChannel);

            // Assert
            Assert.Equal(expectedCount, actual.Count);
            expected.ToExpectedObject().ShouldEqual(actual);
        }
        public void FindById_ReturnCorrectResult()
        {
            // Arrange
            int id       = 0;
            var expected = new NcChannel
            {
                Id = id,
            };

            var channelRepo = new Mock <IChannelRepository>();

            channelRepo.Setup(x => x.FindById(id)).Returns(expected);

            IChannelManager channelManager = new ChannelManager(
                channelRepo.Object,
                It.IsAny <IScenarioRepository>()
                );

            // Act
            var actual = channelManager.FindById(id);

            // Assert
            expected.ToExpectedObject().ShouldEqual(actual);
        }
Ejemplo n.º 10
0
        public async Task Post_Return_CorrectViewModel()
        {
            // Arrange
            int    id        = 20;
            string name      = "Test";
            var    scenarios = new List <NcScenario>();
            var    channel   = new NcChannel
            {
                Id   = id,
                Name = name,
            };

            var logger     = new Mock <ILogger <ChannelsController> >();
            var repository = new Mock <IChannelRepository>();
            var manager    = new Mock <IChannelManager>();

            var expected = new ChannelViewModel
            {
                Id        = id,
                Name      = name,
                Scenarios = mapper.MapEnumerable <ScenarioListDTO>(scenarios).ToList(),
            }.ToExpectedObject();

            var controller =
                new ChannelsController(logger.Object,
                                       repository.Object, mapper, manager.Object, It.IsAny <ApplicationUserManager>())
                .SetValidator();

            // Act
            var controllerResult = await controller.Post(JsonConvert.SerializeObject(channel));

            // Assert
            var actual = (controllerResult as OkObjectResult)?.Value;

            expected.ShouldEqual(actual);
        }
 public static ChannelType ChannelTypeEnum(this NcChannel channel)
 {
     return((ChannelType)channel.ChannelTypeId);
 }