public async Task CreateMessageThrowExceptionTest()
        {
            var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext();

            await this.SeedDataAsync(dbContext);

            var repository = new EfDeletableEntityRepository <Message>(dbContext);
            var service    = new MessagesService(repository);

            await Assert.ThrowsAsync <ArgumentException>(() => service.Create(null, "5", "user5", "*****@*****.**"));
        }
 public ActionResult <MessagesModel> Create(MessagesModel message)
 {
     try
     {
         _messagesService.Create(message);
         return(StatusCode(200, "Su mensaje se envió con exito"));
     }
     catch (Exception)
     {
         return(StatusCode(500, "Contacte un desarrollador D:"));
     }
 }
        public async Task CreateMessageInMemoryDbTest()
        {
            var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext();

            await this.SeedDataAsync(dbContext);

            var repository = new EfDeletableEntityRepository <Message>(dbContext);
            var service    = new MessagesService(repository);

            await service.Create("Hello5", "5", "user5", "*****@*****.**");

            Assert.Equal(2, repository.All().Count());
        }
        public async Task CreateMessageShoidReturnFiveTest()
        {
            var list     = new List <Message>();
            var mockRepo = new Mock <IDeletableEntityRepository <Message> >();

            mockRepo.Setup(x => x.All()).Returns(list.AsQueryable());
            mockRepo.Setup(x => x.AddAsync(It.IsAny <Message>())).Callback(
                (Message message) => list.Add(message));
            var service = new MessagesService(mockRepo.Object);

            await service.Create("Hello1", "1", "user1", "*****@*****.**");

            await service.Create("Hello2", "2", "user2", "*****@*****.**");

            await service.Create("Hello3", "3", "user3", "*****@*****.**");

            await service.Create("Hello4", "4", "user4", "*****@*****.**");

            await service.Create("Hello5", "5", "user5", "*****@*****.**");

            Assert.Equal(5, list.Count);
        }
        public async Task CreateAddsEntityToTheDatabase()
        {
            var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext();

            await this.SeedDataAsync(dbContext);

            var repository = new EfDeletableEntityRepository <Message>(dbContext);
            var service    = new MessagesService(repository);

            await service.Create("test", 1, "TestUser1");

            Assert.Equal(2, repository.All().Count());
        }