public async Task GetDashBoarDataWhenAllSuccessShouldReturnOperationResultSuccess() { ISystemUserRepository systemUserRepository = Substitute.For <ISystemUserRepository>(); systemUserRepository.CountAsync().Returns(1); systemUserRepository.CountAsync(Arg.Any <Expression <Func <SystemUser, bool> > >()).Returns(2); DashBoardManager dashBoardManager = new DashBoardManager(systemUserRepository); IOperationResult <DashBoardViewModel> actual = await dashBoardManager.GetDashBoarData(); Assert.IsTrue(actual.Success); Assert.AreEqual(actual.Entity.RegisteredUsersQuantity, 1); Assert.AreEqual(actual.Entity.ActiveUsersQuantity, 2); }
public async Task <IOperationResult <DashBoardViewModel> > GetDashBoarData() { try { int registeredUsersQuantity = await _systemUserRepository.CountAsync(); int activeUsersQuantity = await _systemUserRepository.CountAsync(user => user.Active == true); var dashBoardResult = new DashBoardViewModel { RegisteredUsersQuantity = registeredUsersQuantity, ActiveUsersQuantity = activeUsersQuantity }; return(OperationResult <DashBoardViewModel> .Ok(dashBoardResult)); } catch { return(OperationResult <DashBoardViewModel> .Fail("Ha ocurrido un error al cargar los datos del tablero")); } }
public async Task GetDashBoarDataWhenActiveUsersQuantityFailShouldReturnOperationResultFail() { ISystemUserRepository systemUserRepository = Substitute.For <ISystemUserRepository>(); systemUserRepository.CountAsync(Arg.Any <Expression <Func <SystemUser, bool> > >()).Throws(new Exception()); DashBoardManager dashBoardManager = new DashBoardManager(systemUserRepository); IOperationResult <DashBoardViewModel> actual = await dashBoardManager.GetDashBoarData(); Assert.IsFalse(actual.Success); Assert.AreEqual("Ha ocurrido un error al cargar los datos del tablero", actual.Message); }