public async Task DeleteAsync_given_non_existing_sessionId_returns_false() { using (var connection = await this.CreateConnectionAsync()) using (var context = await this.CreateContextAsync(connection)) { var repository = new SessionRepository(context); var deleted = await repository.DeleteAsync(42); Assert.False(deleted); } }
public async Task DeleteAsync_given_existing_sessionId_deletes_and_returns_true() { using (var connection = await this.CreateConnectionAsync()) using (var context = await this.CreateContextAsync(connection)) { var entity = this.CreateDummySessionEntity(); context.Sessions.Add(entity); context.SaveChanges(); var id = entity.Id; var repository = new SessionRepository(context); var deleted = await repository.DeleteAsync(id); Assert.True(deleted); } }
private async Task <OperationResult <int> > Delete(CreateSession item) { using (TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { var session = await sessionRepo.GetByIdAsync(item.id); if (session == null) { return new OperationResult <int>() { Success = false, Message = Messages.SESSION_NOT_EXIST } } ; if ([email protected](elem => elem.id == item.userId)) { return new OperationResult <int>() { Success = false, Message = Messages.USER_NO_PERMISSION } } ; try { var id = await sessionRepo.DeleteAsync(session); scope.Complete(); return(new OperationResult <int>() { Success = true, Message = Messages.SESSION_DELETED_SUCCESS, Result = id }); } catch (Exception ex) { return(new OperationResult <int>() { Success = false, Message = ex.InnerException.Message }); } } } } }
public void CreateSession() { int newSessionID = 0; try { newSessionID = sessionRepo.PostAsync(new CreateSession() { eventId = 1, title = "sessao fixe", description = "sessao muita fixe", initialDate = DateTime.Now, endDate = DateTime.Now.AddHours(5), speakerName = "Raposo", lastName = "lugar", linkOfSpeaker = "www.google.com" }).Result; } catch (Exception ex) { Assert.IsInstanceOfType(ex.InnerException, typeof(ArgumentException)); } var res = sessionRepo.GetByIdAsync(newSessionID).Result; Assert.AreEqual(res.title, "sessao fixe"); var id = sessionRepo.DeleteAsync(res).Result; }