Ejemplo n.º 1
0
        public async Task RunTest()
        {
            //Arrange
            var messageToMom = new MessageToMom
            {
                From     = "*****@*****.**",
                HowSoon  = new DateTime(2021, 2, 1),
                Greeting = "So Good To Hear From You",
                HowMuch  = 1222.22m,
                Flattery = new List <string> {
                    "amazing", "fabulous", "profitable"
                },
                SubmittedDate = new DateTime(2021, 1, 27)
            };

            var query     = new Dictionary <string, StringValues>();
            var body      = JsonConvert.SerializeObject(messageToMom, Formatting.Indented);
            var collector = new CollectorMock <MessageToMom>();

            //Act
            var actual = (OkObjectResult)await new ApiFunction().Run(new HttpRequestMock().HttpRequest(query, body),
                                                                     collector.Collector(),
                                                                     new LoggerMock().Logger());

            //Assert message was processed successfully
            Assert.AreEqual(messageToMom.Greeting, actual.Value);

            //Assert message has been added to Queue
            Assert.IsTrue(collector.Items.Count > 0);
        }
        public async Task RunTest()
        {
            //Arrange
            var messageToMom = new MessageToMom
            {
                From     = "*****@*****.**",
                HowSoon  = new DateTime(2021, 2, 1),
                Greeting = "So Good To Hear From You",
                HowMuch  = 1222.22m,
                Flattery = new List <string> {
                    "amazing", "fabulous", "profitable"
                },
                SubmittedDate = new DateTime(2021, 1, 27)
            };

            var expected = new FormLetter
            {
                Heading       = "Amazing, Fabulous, Profitable Mother, So Good To Hear From You",
                Likelihood    = 99.877778,
                ExpectedDate  = new DateTime(2021, 2, 10),
                RequestedDate = new DateTime(2021, 2, 1),
                Body          = "Really need help: I need $1,222.22 by February 01, 2021"
            };

            var collector = new CollectorMock <FormLetter>();

            //Act
            await new CalculateDatesAndAmountsFunction().Run(messageToMom, collector.Collector(), new LoggerMock().Logger());

            //Assert
            //Assert message has been added to Queue
            Assert.IsTrue(collector.Items.Count > 0);

            //Assert item added to queue is as expected
            FormLetter actual = collector.Items[0];

            Assert.AreEqual(expected.Heading, actual.Heading);
            Assert.AreEqual(expected.Likelihood, actual.Likelihood);
            Assert.AreEqual(expected.ExpectedDate, actual.ExpectedDate);
            Assert.AreEqual(expected.RequestedDate, actual.RequestedDate);
            Assert.AreEqual(expected.Body, actual.Body);
        }