示例#1
0
        public async Task AddSessionAsync_ById_SuccessResult()
        {
            // Arrange
            var fixture      = new Fixture();
            var sessionToAdd = fixture.Create <Session>();

            var sessionRepoMock = new Mock <ISessionRepository>();

            sessionRepoMock
            .Setup((r) => r.FindSessionByParametersAsync(sessionToAdd.SessionTime, sessionToAdd.CinemaId, sessionToAdd.FilmId));

            var uowMock = new Mock <IUnitOfWork>();

            uowMock
            .Setup(x => x.Sessions)
            .Returns(sessionRepoMock.Object);

            var sessionService    = new SessionService(uowMock.Object);
            int sessionIdToDelete = fixture.Create <int>();

            // Act
            await sessionService.AddSessionAsync(sessionToAdd);

            // Assert
            sessionRepoMock.Verify(r => r.AddAsync(sessionToAdd), Times.Once);
        }
示例#2
0
        public async Task AddSessionAsync_AlreadyExistResult()
        {
            // Arrange
            var fixture      = new Fixture();
            var sessionToAdd = fixture.Create <Session>();

            var sessionRepoMock = new Mock <ISessionRepository>();

            sessionRepoMock
            .Setup((r) => r.FindSessionByParametersAsync(sessionToAdd.SessionTime, sessionToAdd.CinemaId, sessionToAdd.FilmId))
            .ReturnsAsync(fixture.Create <List <Session> >());

            var uowMock = new Mock <IUnitOfWork>();

            uowMock
            .Setup(x => x.Sessions)
            .Returns(sessionRepoMock.Object);

            var sessionService = new SessionService(uowMock.Object);

            // Act
            Func <Task> addSessionFunc = () => sessionService.AddSessionAsync(sessionToAdd);

            // Assert
            await Assert.ThrowsAsync <BusinessRuleValidationException>(addSessionFunc);
        }