Ejemplo n.º 1
0
        public void SmsController_IfRecordExists_ShouldReturnMessage()
        {
            // Arrange
            var repository = new MockSmsRepository();
            var guid       = Guid.NewGuid();
            var to         = Guid.NewGuid().ToString();
            var model      = new SmsMessage
            {
                Created = DateTime.UtcNow,
                From    = Guid.NewGuid().ToString(),
                Guid    = guid,
                Message = Guid.NewGuid().ToString(),
                To      = to
            };

            repository.Insert(model);
            var controller = new SmsController(repository);

            // Act
            var result1 = controller.Get(guid);
            var result2 = controller.Get(to, guid);

            // Assert
            Assert.IsTrue(result1 is OkNegotiatedContentResult <SmsMessage>);
            Assert.IsTrue(result2 is OkNegotiatedContentResult <SmsMessage>);

            var content1 = (result1 as OkNegotiatedContentResult <SmsMessage>).Content;
            var content2 = (result2 as OkNegotiatedContentResult <SmsMessage>).Content;

            Assert.IsTrue(content1.Guid == guid);
            Assert.IsTrue(content2.Guid == guid);
        }
Ejemplo n.º 2
0
        public void Get_ReturnsActionResult_With_200_Status_With_Messges_For_Valid_Date_Range()
        {
            // assign
            Mock <ITwilioService> twilioServiceMock = new Mock <ITwilioService>();
            DateTime fromDate = new DateTime(2019, 02, 10, 10, 0, 0);
            DateTime toDate   = new DateTime(2019, 02, 11, 10, 0, 0);

            twilioServiceMock
            .Setup(x => x.GetMessages(fromDate, toDate))
            .Returns(new GetMessagesResponse
            {
                SmsMessages = new List <SmsMessage>
                {
                    new SmsMessage {
                        DateSent    = new DateTime(2019, 02, 10, 10, 0, 0),
                        MessageBody = "Tet Message"
                    }
                }
            }
                     );

            var smsController = new SmsController(twilioServiceMock.Object);

            // act
            var result = smsController.Get("10/02/2019 10:00:00", "11/02/2019 10:00:00");

            // assert
            var viewResult = Assert.IsType <OkObjectResult>(result);
            var model      = Assert.IsAssignableFrom <GetMessagesResponse>(viewResult.Value);

            Assert.True(model.IsSuccess);
            Assert.Equal(1, model.SmsMessages.Count);
        }
Ejemplo n.º 3
0
        public void Get_ReturnsActionResult_WithCollectionOfStrings_ByDate()
        {
            var smsController = new SmsController();
            var result        = smsController.Get(string.Empty);

            // Assert
            var viewResult = Assert.IsType <OkObjectResult>(result);

            Assert.Equal(200, viewResult.StatusCode);
        }
Ejemplo n.º 4
0
        public void Get_ReturnsActionResult_WithCollectionOfStrings()
        {
            var smsController = new SmsController();
            var result        = smsController.Get();

            // Assert
            var viewResult = Assert.IsType <OkObjectResult>(result);
            var model      = Assert.IsAssignableFrom <IEnumerable <string> >(
                viewResult.Value);

            Assert.Equal(2, model.Count());
        }
Ejemplo n.º 5
0
        public void SmsController_IfRecordDoesNotExists_ShouldReturnNotFound()
        {
            // Arrange
            var repository = new MockSmsRepository();
            var model      = new SmsMessage
            {
                Created = DateTime.UtcNow,
                From    = Guid.NewGuid().ToString(),
                Guid    = Guid.NewGuid(),
                Message = Guid.NewGuid().ToString(),
                To      = Guid.NewGuid().ToString()
            };

            repository.Insert(model);
            var controller = new SmsController(repository);

            // Act
            var result1 = controller.Get(Guid.NewGuid());
            var result2 = controller.Get(Guid.NewGuid().ToString(), Guid.NewGuid());

            // Assert
            Assert.IsTrue(result1 is NotFoundResult);
            Assert.IsTrue(result2 is NotFoundResult);
        }
Ejemplo n.º 6
0
        public void Get_ReturnsActionResult_With_400_Status_With_Invalid_Valid_To_Date()
        {
            // assign
            Mock <ITwilioService> twilioServiceMock = new Mock <ITwilioService>();
            var smsController = new SmsController(twilioServiceMock.Object);

            // act
            var result = smsController.Get("22/02/2019 10:00:00", "30/15/2019 10:00:00");

            // assert
            var viewResult = Assert.IsType <BadRequestObjectResult>(result);
            var model      = Assert.IsAssignableFrom <GetMessagesResponse>(viewResult.Value);

            Assert.False(model.IsSuccess);
            Assert.Equal(1, model.ErrorMessages.Count);
        }
Ejemplo n.º 7
0
        public void Get_ReturnsActionResult_With_200_Status_With_Valid_Parameters()
        {
            // assign
            Mock <ITwilioService> twilioServiceMock = new Mock <ITwilioService>();

            twilioServiceMock
            .Setup(x => x.GetMessages(It.IsAny <DateTime>(), It.IsAny <DateTime>()))
            .Returns(new GetMessagesResponse());

            // act
            var smsController = new SmsController(twilioServiceMock.Object);
            var result        = smsController.Get("20/02/2019 10:00:00", "22/02/2019 10:00:00");

            // assert
            var viewResult = Assert.IsType <OkObjectResult>(result);
            var model      = Assert.IsAssignableFrom <GetMessagesResponse>(viewResult.Value);

            Assert.True(model.IsSuccess);
        }