示例#1
0
        public void testWhenMessageFromExistingCustomerWithNewNameShouldUpdateCustomerName()
        {
            var fromData = new ContactUsFormDTO()
            {
                fullName = "Joseph Smith",
                email    = "*****@*****.**",
                message  = "this is a very long message!"
            };
            var taskPost = _target.SubmitMessage(fromData);

            taskPost.Wait();

            var fromData2 = new ContactUsFormDTO()
            {
                fullName = "Josephine Smith-Jones",
                email    = "*****@*****.**",
                message  = "this is a another even longr message!"
            };
            var taskPost2 = _target.SubmitMessage(fromData2);

            taskPost2.Wait();

            var dbMessages  = GetMessageFromDB("*****@*****.**") as List <Models.CustomerMessage>;
            var dbCustomers = GetCustomersFromDB("*****@*****.**") as List <Models.Customer>;

            Assert.IsNotNull(dbMessages);
            Assert.IsTrue(dbMessages.Count == 2);
            Assert.IsNotNull(dbCustomers);
            Assert.IsTrue(dbCustomers.Count == 1);

            Assert.AreEqual(dbCustomers[0].FirstName, AutoMapperConfig.getFirstName(fromData2.fullName));
            Assert.AreEqual(dbCustomers[0].LastName, AutoMapperConfig.getLastName(fromData2.fullName));
        }
示例#2
0
        public async Task <IHttpActionResult> SubmitMessage([FromBody] ContactUsFormDTO fromData)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var entityModel = Mapper.Map <Models.CustomerMessage>(fromData);
            var newMessage  = await _repository.CreateNewMessageAsync(entityModel);

            if (newMessage == null)
            {
                return(InternalServerError());
            }

            return(CreatedAtRoute("GetMessagesById",
                                  new { id = newMessage.Id },
                                  Mapper.Map <ContactUsFormDTO>(newMessage)));
        }
示例#3
0
        public void testMultipleMessagesSentfromSameUserShouldNotCreateMultipleCustomers()
        {
            var fromData = new ContactUsFormDTO()
            {
                fullName = "Joseph Smith",
                email    = "*****@*****.**",
                message  = "this is a very long message!"
            };

            for (int i = 0; i < 10; i++)
            {
                var taskPost = _target.SubmitMessage(fromData);
                taskPost.Wait();
            }

            var dbMessages  = GetMessageFromDB("*****@*****.**") as List <Models.CustomerMessage>;
            var dbCustomers = GetCustomersFromDB("*****@*****.**") as List <Models.Customer>;

            Assert.IsNotNull(dbMessages);
            Assert.IsTrue(dbMessages.Count == 10);
            Assert.IsNotNull(dbCustomers);
            Assert.IsTrue(dbCustomers.Count == 1);
        }
示例#4
0
        public void testIfDataWillBeInsertedWhenPostedToController()
        {
            var fromData = new ContactUsFormDTO()
            {
                fullName = "Joseph Smith",
                email    = "*****@*****.**",
                message  = "this is a very long message!"
            };

            var taskPost = _target.SubmitMessage(fromData);

            taskPost.Wait();
            var dbMessages  = GetMessageFromDB("*****@*****.**") as List <Models.CustomerMessage>;
            var dbCustomers = GetCustomersFromDB("*****@*****.**") as List <Models.Customer>;

            Assert.IsNotNull(dbMessages);
            Assert.IsTrue(dbMessages.Count == 1);
            Assert.IsNotNull(dbCustomers);
            Assert.IsTrue(dbCustomers.Count == 1);

            Assert.AreEqual(dbMessages[0].Text, fromData.message);
            Assert.AreEqual(dbCustomers[0].FirstName, AutoMapperConfig.getFirstName(fromData.fullName));
            Assert.AreEqual(dbCustomers[0].LastName, AutoMapperConfig.getLastName(fromData.fullName));
        }