Пример #1
0
        public void TestBuildSuccess_MutedMessage()
        {
            string testStr = "{\"application\": { \"name\": \"Test Project 1\" },   \"build\": {    \"commit\": {      \"id\": \"" + Guid.NewGuid() + "\", \"message\": \"Implement foo-\"  }, \"status\": \"succeeded\" } }";
            var    deserializedJsonObject = JsonConvert.DeserializeObject <Notification>(testStr);

            var db   = new TestTweetHarborDbContext();
            var user = UserHelper.ArrangeNewUserDefault();

            db.Users.Add(user);

            var proj = new Project()
            {
                ProjectName = "The Test Project",
                SendPrivateTweetOnFailure = true,
                SendPrivateTweetOnSuccess = true,
                SendPublicTweetOnFailure  = false,
                SendPublicTweetOnSuccess  = true,
                User = user
            };

            db.Projects.Add(proj);

            proj.MessageRecipients.Add(new TwitterMessageRecipient()
            {
                ScreenName = "sethwebster"
            });

            user.Projects = new Collection <Project>();
            user.Projects.Add(proj);

            var m = new Mock <ITweetHarborTextMessageService>();

            m.Setup(a => a.SendText("", ""));

            var controller = new NotifyController(db, new TestTweetHarborTwitterService(), m.Object);

            MvcMockHelpers.SetFakeControllerContext(controller);

            var res = controller.New(user.UserName, user.UniqueId, deserializedJsonObject);

            proj = user.Projects.FirstOrDefault(p => p.ProjectName == deserializedJsonObject.application.name);

            Assert.IsInstanceOfType(res, typeof(JsonResult));
            Assert.IsInstanceOfType((res as JsonResult).Data, typeof(JsonResultModel));

            Assert.AreNotEqual(0, proj.ProjectNotifications.Count());
            Assert.AreEqual(0, proj.OutboundNotifications.Count());

            Assert.AreEqual(true, ((res as JsonResult).Data as JsonResultModel).Success);
        }
Пример #2
0
        public void TestSendSmsMessages_InboundNotificationCreated()
        {
            string testStr = "{\"application\": { \"name\": \"Test Project 1\" },   \"build\": {    \"commit\": {      \"id\": \"" + Guid.NewGuid() + "\", \"message\": \"Implement foo\"  }, \"status\": \"succeeded\" } }";
            var    o       = JsonConvert.DeserializeObject <Notification>(testStr);

            TestTweetHarborDbContext db = new TestTweetHarborDbContext();

            var m = new Mock <ITweetHarborTextMessageService>();

            m.Setup(a => a.SendText("", ""));

            var user = UserHelper.ArrangeNewUserDefault();

            db.Users.Add(user);

            var proj = new Project()
            {
                ProjectName = o.application.name,
                SendPrivateTweetOnFailure = true,
                SendPrivateTweetOnSuccess = true,
                SendPublicTweetOnFailure  = false,
                SendPublicTweetOnSuccess  = true,
                SendTextOnSuccess         = true,
                SendTextOnFailure         = false,
                User = user
            };

            user.Projects.Add(proj);
            db.Projects.Add(proj);
            var tmr = new TextMessageRecipient()
            {
                Name        = "App Test",
                PhoneNumber = "5201235678",
            };

            proj.TextMessageRecipients.Add(tmr);

            var controller = new NotifyController(db, new TestTweetHarborTwitterService(), m.Object);

            var res = controller.New(user.UserName, user.UniqueId, o);

            Assert.IsInstanceOfType(res, typeof(JsonResult));
            Assert.IsInstanceOfType((res as JsonResult).Data, typeof(JsonResultModel));

            Assert.AreEqual(true, ((res as JsonResult).Data as JsonResultModel).Success);

            Assert.AreNotEqual(0, proj.ProjectNotifications.Count);
            Assert.AreNotEqual(0, proj.ProjectNotifications.First().Build.commit.message.Length);
        }