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); }
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); }
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); }
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); }
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(); }
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(); }
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); }
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); }