コード例 #1
0
        public async Task GivenInvalidContractWhenAddingThenContractIsNotAdded()
        {
            var contract = new DtoContract { Experience = 1 };
            var mock = new Mock<IRepository<Contract>>();
            IContractService service = new ContractService(mock.Object, new DefaultSalaryPolicy(), new DefaultSalaryCalculator());

            var expected = false;
            var actual = await service.CreateContractAsync(contract);

            mock.Verify(m => m.Add(It.IsAny<Contract>()), Times.Never());
            mock.Verify(m => m.SaveChangesAsync(), Times.Never());

            Assert.AreEqual(expected, actual);
        }
コード例 #2
0
        public async Task GivenValidContractWhenAddingThenContractIsAdded()
        {
            var contract = new DtoContract { Name = "C1", Type = ContractType.Developer, Experience = 3, Salary = 5375 };
            var mock = new Mock<IRepository<Contract>>();
            IContractService service = new ContractService(mock.Object, new DefaultSalaryPolicy(), new DefaultSalaryCalculator());

            var expected = true;
            var actual = await service.CreateContractAsync(contract);

            mock.Verify(m => m.Add(It.IsAny<Contract>()), Times.Once());
            mock.Verify(m => m.SaveChangesAsync(), Times.Once());

            Assert.AreEqual(expected, actual);
        }