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); }
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); }