コード例 #1
0
        public void POST_slack_attempts_to_update_Person_with_id_if_user_was_mapped_using_name()
        {
            var req = new SlackRequestPayload
            {
                user_id   = "some id",
                user_name = "some name"
            };

            _personRepository.Setup(x => x.GetBySlackId(req.user_id)).Returns <Person>(null);
            _personRepository.Setup(x => x.GetBySlackUsername(req.user_name)).Returns(person);

            _slackController.Post(req);
            _personRepository.Verify(x => x.SetSlackId(It.IsAny <Person>()), Times.Once());
        }
コード例 #2
0
        public void POST_slack_attempts_to_get_user_by_name_if_not_found_by_id()
        {
            var req = new SlackRequestPayload
            {
                user_id   = "some id",
                user_name = "some name"
            };

            _personRepository.Setup(x => x.GetBySlackId(req.user_id)).Returns <Person>(null);
            _personRepository.Setup(x => x.GetBySlackUsername(req.user_name)).Returns(person);

            _slackController.Post(req);
            _personRepository.Verify(x => x.GetBySlackId(req.user_id), Times.Once());
            _personRepository.Verify(x => x.GetBySlackUsername(req.user_name), Times.Once());
        }
コード例 #3
0
        public SlackResponse Post([FromForm] SlackRequestPayload payload)
        {
            Console.WriteLine("Received POST /slack");
            Console.WriteLine("User ID: " + payload.user_id);
            Console.WriteLine("Username: "******"Something went wrong.";
                response.Attachments.Add(new SlackResponse
                {
                    Text       = string.Format("Your account needs to be setup in izone before you can use this command. <{0}|{1}>", payload.user_name, payload.user_id),
                    SlackColor = SlackColor.danger
                });
                return(response);
            }

            var timeEntries = _timeEntryRepository.List();

            response.Text = string.Format("Week {0} for {1} ({2} {3})", "<week>", person.IzoneUsername.ToUpper(), person.Firstname, person.Lastname);

            foreach (var timeEntry in timeEntries)
            {
                response.Attachments.Add(new SlackResponse
                {
                    Text       = string.Format("{0}: {1} h", timeEntry.Alias, timeEntry.Hours),
                    SlackColor = SlackColor.danger
                });
            }

            return(response);
        }