Пример #1
0
        public async Task CreateAsyncGenericShouldIncreaseCountUsingMoq()
        {
            AutoMapperConfig.RegisterMappings(typeof(ErrorViewModel).GetTypeInfo().Assembly);

            var repository = new Mock <IDeletableEntityRepository <UserMessage> >();

            var messages = new List <UserMessage>
            {
                new UserMessage {
                    Id = "TestId1", CreatedOn = new DateTime(2020, 12, 31, 12, 12, 12), Subject = "TestSubject1", Email = "TestEmail1", Message = "TestMessage1", IP = "TestIp1"
                },
                new UserMessage {
                    Id = "TestId2", CreatedOn = new DateTime(2020, 12, 31, 12, 12, 13), Subject = "TestSubject2", Email = "TestEmail2", Message = "TestMessage2", IP = "TestIp2"
                },
            };

            repository.Setup(r => r.AddAsync(It.IsAny <UserMessage>())).Callback((UserMessage item) => messages.Add(item));
            repository.Setup(r => r.SaveChangesAsync()).Verifiable();

            var service = new UserMessagesService(repository.Object);
            var model   = new ContactFormInputViewModel
            {
                Subject = "TestSubject3",
                Email   = "TestEmail3",
                Message = "TestMessage3",
            };
            await service.CreateAsync(model, "TestIp3");

            Assert.Equal(3, messages.Count);

            repository.Verify(x => x.AddAsync(It.IsAny <UserMessage>()), Times.Once);
            repository.Verify(x => x.SaveChangesAsync());
        }