Exemplo n.º 1
0
        public void Multiple_Channels_Send_Correct_Notification_Should_Not_Throw_Exception()
        {
            // Arrange
            ChannelFactory channelFactory = new ChannelFactory();
            Person         person         = new Person("Bas", ERole.Lead);
            IChannel       channelEmail   = channelFactory.CreateSlackChannel("*****@*****.**");
            IChannel       channelSlack   = channelFactory.CreateSlackChannel("@bas");
            const string   message        = "This is a test message.";

            // Act
            person.AddChannel(channelSlack);
            person.AddChannel(channelEmail);

            // Assert
            var ex = Record.Exception(() => person.SendNotification(message));

            Assert.Null(ex);
        }
Exemplo n.º 2
0
        public void Notification_Todo_State_Update()
        {
            // Arrange
            Project        project = new Project("Test Project", new Person("Bas", ERole.Lead));
            SprintFactory  factory = new SprintFactory();
            ChannelFactory channel = new ChannelFactory();

            Person p1 = new Person("Tom", ERole.Developer);
            Person p2 = new Person("Jan Roos", ERole.Developer);

            p1.AddChannel(channel.CreateSlackChannel("@tom"));

            ISprint sprint = factory.MakeReleaseSprint("Sprint 1", DateTime.Now, DateTime.Now.AddDays(14), project, p1, new List <Person>()
            {
                p2
            });

            project.AddSprint(sprint);

            var backlog = new Backlog(project);

            var backlogItem = new BacklogItem("User can login into the platform", "Foo", p2, 3, backlog);

            backlogItem.AssignPerson(p2);
            backlog.AddBacklogItem(backlogItem);

            sprint.AddToSprintBacklog(backlogItem);

            project.AddBacklog(backlog);

            var task1 = new Task("Bar", p1);

            backlogItem.GetState().AddTask(task1);

            var backlogItemObserver = new BacklogItemObserver();

            // Act
            backlogItem.Register(backlogItemObserver);
            backlogItem.GetState().NextState();
            // Backlog is in DoingState, set tasks

            backlogItem.GetTasks().First().NextState();
            backlogItem.GetTasks().First().NextState();

            task1.NextState();
            task1.NextState();

            backlogItem.GetState().NextState();
            backlogItem.GetState().NextState();

            // Backlog is in TestingState
            backlogItem.GetState().NextState();

            // Assert
            Assert.NotEmpty(backlogItem.GetObservers());
        }
Exemplo n.º 3
0
        public void SlackChannel_Send_Out_Of_Bounds_Notification_Should_Throw_ArgumentOutOfRangeException()
        {
            // Arrange
            ChannelFactory channelFactory = new ChannelFactory();
            Person         person         = new Person("Bas", ERole.Lead);

            IChannel slackChannel = channelFactory.CreateSlackChannel("@bas");

            string message = "";

            while (message.Length <= 1600)
            {
                message += "0";
            }

            // Act
            person.AddChannel(slackChannel);

            // Assert
            Assert.Throws <ArgumentOutOfRangeException>(() => person.SendNotification(message));
        }