コード例 #1
0
        public void Invoke_ValidData_AddsDomainToDatabaseWithCorrectValues()
        {
            // prepare
            var domainData = new DomainModel
            {
                Name = "testdomain"
            };

            DataAccess.Models.Domain domainSaved = null;

            var mockedDomainrepository = new Mock <IDomainRepository>();

            mockedDomainrepository.Setup(r => r.Add(It.IsAny <DataAccess.Models.Domain>()))
            .Callback <DataAccess.Models.Domain>(u => domainSaved = u);
            var mockedUnitOfWork = new Mock <IUnitOfWork>();

            var action = new AddNewDomain(mockedDomainrepository.Object, mockedUnitOfWork.Object);

            // action
            action.Invoke(domainData, Guid.NewGuid());

            // assert
            mockedDomainrepository.Verify(r => r.Add(It.IsAny <DataAccess.Models.Domain>()), Times.Once());
            mockedUnitOfWork.Verify(r => r.Save(), Times.Exactly(1));
            Assert.Equal("testdomain", domainSaved.Name);
        }
コード例 #2
0
        public void Invoke_InvalidData_AddNorSaveAreCalled()
        {
            // prepare
            var domainToAdd            = new DomainModel();
            var mockedDomainRepository = new Mock <IDomainRepository>();
            var mockedUnitOfWork       = new Mock <IUnitOfWork>();

            var action = new AddNewDomain(mockedDomainRepository.Object, mockedUnitOfWork.Object);

            // action
            var actionResult = action.Invoke(domainToAdd, Guid.NewGuid());

            // assert
            Assert.Equal(Guid.Empty, actionResult);
            mockedDomainRepository.Verify(r => r.Add(It.IsAny <DataAccess.Models.Domain>()), Times.Never);
            mockedUnitOfWork.Verify(r => r.Save(), Times.Never);
        }
コード例 #3
0
        public void Invoke_AlreadyExists_AddNorSaveAreCalled()
        {
            // prepare
            var userData = new UserModel
            {
                Email    = "email",
                Password = "******",
                Name     = "Grzegorz"
            };
            var domainToAdd = new DomainModel
            {
                Name  = "testdomain",
                Owner = userData
            };
            var domainFromDb = new DataAccess.Models.Domain
            {
                Name = "testdomain"
            };
            var findByResult = new List <DataAccess.Models.Domain> {
                domainFromDb
            };

            var mockedDomainRepository = new Mock <IDomainRepository>();

            mockedDomainRepository.Setup(r => r.FindBy(It.IsAny <Expression <Func <DataAccess.Models.Domain, bool> > >()))
            .Returns(findByResult.AsQueryable());
            var mockedUnitOfWork = new Mock <IUnitOfWork>();

            var action = new AddNewDomain(mockedDomainRepository.Object, mockedUnitOfWork.Object);

            // action
            var actionResult = action.Invoke(domainToAdd, Guid.NewGuid());

            // assert
            Assert.Equal(Guid.Empty, actionResult);
            mockedDomainRepository.Verify(r => r.Add(It.IsAny <DataAccess.Models.Domain>()), Times.Never);
            mockedUnitOfWork.Verify(r => r.Save(), Times.Never);
        }