public async Task <UserStatisticAggregate> GetAsync(Guid userId) { EnglishMultimediaStatistic englishMultimediaStatistic = await _englishMultimediaStatisticRepository.GetByUserId(userId); EnglishTaskStatistic englishTaskStatistic = await _englishTaskStatisticRepository.GetByUserId(userId); var userStatisticAggregate = new UserStatisticAggregate(userId, englishMultimediaStatistic, englishTaskStatistic); return(userStatisticAggregate); }
public static UserStatisticAggregate GetModel(Guid userId) { var completedEnglishMultimedia = CompletedEnglishMultimediaFactory.GetSimpleModels(20, userId); var completedTasks = CompletedEnglishTaskFactory.GetSimpleModels(20, userId); var taskStatistic = new EnglishTaskStatistic(completedTasks); var multimediaStatistic = new EnglishMultimediaStatistic(completedEnglishMultimedia); var userStatisticAggregate = new UserStatisticAggregate(userId, multimediaStatistic, taskStatistic); return(userStatisticAggregate); }
public void GetFullStatistic_ReturnExpectedResult( Guid userId, EnglishMultimediaStatistic englishMultimediaStatistic, EnglishTaskStatistic englishTaskStatistic, FullStatistic expectedFullStatistic) { // Arrange var userStatisticAggregate = new UserStatisticAggregate(userId, englishMultimediaStatistic, englishTaskStatistic); // Act var fullStatistic = userStatisticAggregate.GetFullStatistic(); // Arrange fullStatistic.Should().BeEquivalentTo(expectedFullStatistic); }
public async Task GetFullStatisticByUserId_ReturnsExpectedResult( Guid userId, UserStatisticAggregate userStatisticAggregate, FullStatisticModel expectedResult) { // Arrange var applicationMapper = new ApplicationMapper(); var userAggregateRepository = Substitute.For <IUserStatisticAggregateRepository>(); userAggregateRepository .GetAsync(Arg.Any <Guid>()) .Returns(userStatisticAggregate); var service = new GeneralStatisticService(userAggregateRepository, applicationMapper); // Act FullStatisticModel fullStatistic = await service.GetFullStatisticByUserId(userId); // Arrange fullStatistic.Should().BeEquivalentTo(expectedResult); }
public async Task GetPerDayForLastMonthStatisticByUserId_ReturnsExpectedResult( Guid userId, UserStatisticAggregate userStatisticAggregate, IReadOnlyList <PerDayStatisticModel> expectedResult) { // Arrange var applicationMapper = new ApplicationMapper(); var userAggregateRepository = Substitute.For <IUserStatisticAggregateRepository>(); userAggregateRepository .GetAsync(Arg.Any <Guid>()) .Returns(userStatisticAggregate); var service = new GeneralStatisticService(userAggregateRepository, applicationMapper); // Act IReadOnlyList <PerDayStatisticModel> perDayModels = await service.GetPerDayForLastMonthStatisticByUserId(userId); // Arrange perDayModels.Should().BeEquivalentTo(expectedResult); }