コード例 #1
0
        public void GetTablesCountShould_ReturnZero_WhenThereIsTableInThisPlace(string placeId, int peopleCount)
        {
            var repositoryMock = new Mock <IRepository <Table> >();
            var unitOfWorkMock = new Mock <IUnitOfWork>();
            var factoryMock    = new Mock <ITablesFactory>();

            var service     = new Services.TablesService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object);
            var placeIdGuid = new Guid(placeId);
            var table       = new Table()
            {
                PlaceId        = placeIdGuid,
                NumberOfPeople = peopleCount,
                NumberOfTables = 12
            };
            var listAll = new List <Table>()
            {
                table
            };

            repositoryMock
            .Setup(r => r.All)
            .Returns(listAll.AsQueryable <Table>());

            var result = service.GetTablesCount(placeIdGuid, peopleCount);

            Assert.AreEqual(12, result);
        }
コード例 #2
0
        public void ConstructorShould_SetPassedDataCorrectlly_WhenDataIsNotNull()
        {
            var repositoryMock = new Mock <IRepository <Table> >();
            var unitOfWorkMock = new Mock <IUnitOfWork>();
            var factoryMock    = new Mock <ITablesFactory>();

            var service = new Services.TablesService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object);

            Assert.IsNotNull(service);
        }
コード例 #3
0
        public void GetByPlaceAndNumberOfPeopleShould_CallRepositoryPropertyAll(string placeId, int peopleCount)
        {
            var repositoryMock = new Mock <IRepository <Table> >();
            var unitOfWorkMock = new Mock <IUnitOfWork>();
            var factoryMock    = new Mock <ITablesFactory>();

            var service     = new Services.TablesService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object);
            var placeIdGuid = new Guid(placeId);

            service.GetByPlaceAndNumberOfPeople(placeIdGuid, peopleCount);
            repositoryMock.Verify(r => r.All, Times.Once);
        }
コード例 #4
0
        public void CreateTableTypeShould_CallFactoryMethodCreateTableType(string placeId, int numberOfPeople, int numberOfTables)
        {
            var repositoryMock = new Mock <IRepository <Table> >();
            var unitOfWorkMock = new Mock <IUnitOfWork>();
            var factoryMock    = new Mock <ITablesFactory>();

            var service     = new Services.TablesService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object);
            var placeIdGuid = new Guid(placeId);

            service.CreateTableType(placeIdGuid, numberOfPeople, numberOfTables);

            factoryMock.Verify(f => f.CreateTableType(placeIdGuid, numberOfPeople, numberOfTables), Times.Once);
        }
コード例 #5
0
        public void GetByPlaceAndNumberOfPeopleShould_ReturnNull_WhenThereAreNotSuchTables(string placeId, int peopleCount)
        {
            var repositoryMock = new Mock <IRepository <Table> >();
            var unitOfWorkMock = new Mock <IUnitOfWork>();
            var factoryMock    = new Mock <ITablesFactory>();

            var service     = new Services.TablesService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object);
            var placeIdGuid = new Guid(placeId);
            var listAll     = new List <Table>();

            repositoryMock.Setup(r => r.All).Returns(listAll.AsQueryable());

            var result = service.GetByPlaceAndNumberOfPeople(placeIdGuid, peopleCount);

            Assert.IsNull(result);
        }
コード例 #6
0
        public void CreateTableTypeShould_ReturnCorrectTableType(string placeId, int numberOfPeople, int numberOfTables)
        {
            var repositoryMock = new Mock <IRepository <Table> >();
            var unitOfWorkMock = new Mock <IUnitOfWork>();
            var factoryMock    = new Mock <ITablesFactory>();

            var service     = new Services.TablesService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object);
            var placeIdGuid = new Guid(placeId);
            var table       = new Table()
            {
                PlaceId        = placeIdGuid,
                NumberOfPeople = numberOfPeople,
                NumberOfTables = numberOfTables
            };

            factoryMock.Setup(x => x.CreateTableType(placeIdGuid, numberOfPeople, numberOfTables)).Returns(table);
            var result = service.CreateTableType(placeIdGuid, numberOfPeople, numberOfTables);

            Assert.AreSame(table, result);
        }
コード例 #7
0
        public void CreateTableTypeShould_CallUnitOfWorkMethodCommit(string placeId, int numberOfPeople, int numberOfTables)
        {
            var repositoryMock = new Mock <IRepository <Table> >();
            var unitOfWorkMock = new Mock <IUnitOfWork>();
            var factoryMock    = new Mock <ITablesFactory>();

            var service     = new Services.TablesService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object);
            var placeIdGuid = new Guid(placeId);
            var table       = new Table()
            {
                PlaceId        = placeIdGuid,
                NumberOfPeople = numberOfPeople,
                NumberOfTables = numberOfTables
            };

            factoryMock.Setup(x => x.CreateTableType(placeIdGuid, numberOfPeople, numberOfTables)).Returns(table);
            service.CreateTableType(placeIdGuid, numberOfPeople, numberOfTables);

            unitOfWorkMock.Verify(f => f.Commit(), Times.Once);
        }