Ejemplo n.º 1
0
        public async Task Get_With_Pagination_Options_Should_Return_PageList_With_Page_1_When_30_Users_Exists()
        {
            // Arrange...
            var inMemoryContext = InMemoryContextHelper.Create();

            InMemoryContextHelper.AddUsersToContext(_fixture, inMemoryContext, 30);
            var sut             = new UserRepository(inMemoryContext);
            var getUsersOptions = new GetOptions
            {
                PageSize   = 10,
                PageNumber = 1
            };

            // Act...
            var pagedList = await sut.Get(getUsersOptions);

            // Assert...
            pagedList.Should().NotBeNull();
            pagedList.Count.Should().Be(10);
            pagedList.TotalCount.Should().Be(30);
            pagedList.CurrentPage.Should().Be(1);
            pagedList.TotalPages.Should().Be(3);
            pagedList.HasPrevious.Should().BeFalse();
            pagedList.HasNext.Should().BeTrue();
        }
        public async Task UpdateUserHandler_Should_Update_User()
        {
            // Arrange...
            var unitOfWork = GetUnitOfWork(out var inMemoryContext);
            var user       = _fixture.Create <User>();

            InMemoryContextHelper.AddUserToContext(inMemoryContext, user);
            var sut = new UpdateUserCommandHandler(unitOfWork);
            var updateUserCommand = new UpdateUserCommand
            {
                Id        = user.Id,
                Title     = _fixture.Create <Title>(),
                FirstName = _fixture.Create <string>(),
                LastName  = _fixture.Create <string>(),
                Sex       = _fixture.Create <Sex>()
            };
            var ct = new CancellationToken();

            // Act...
            var updatedUser = await sut.Handle(updateUserCommand, ct);

            // Assert...
            inMemoryContext.Users.Count().Should().Be(1);
            user.Title.Should().Be(updateUserCommand.Title);
            user.FirstName.Should().Be(updateUserCommand.FirstName);
            user.LastName.Should().Be(updateUserCommand.LastName);
            user.Sex.Should().Be(updateUserCommand.Sex);
        }
Ejemplo n.º 3
0
        public async Task Sort_Should_Sort_Users_Into_Correct_Order_When_Ascending()
        {
            // Arrange...
            var inMemoryContext = InMemoryContextHelper.Create();

            InMemoryContextHelper.AddUsersToContext(_fixture, inMemoryContext, 3);
            var sut        = new UserRepository(inMemoryContext);
            var getOptions = new GetOptions();
            var ordering   = new Ordering("FirstName", SortOrder.Ascending);

            getOptions.AddOrdering(ordering);

            // Act...
            var pageOfUsers = await sut.Get(getOptions);

            // Assert...
            pageOfUsers.Should().NotBeNull();
            pageOfUsers.Count.Should().Be(3);
            pageOfUsers.TotalCount.Should().Be(3);
            var orderedInMemoryUsers = inMemoryContext.Users.OrderBy(x => x.FirstName);
            var firstUser            = orderedInMemoryUsers.Skip(0).Take(1);
            var secondUser           = orderedInMemoryUsers.Skip(1).Take(1);
            var thirdUser            = orderedInMemoryUsers.Skip(2).Take(1);

            pageOfUsers.Skip(0).Take(1).Should().BeEquivalentTo(firstUser);
            pageOfUsers.Skip(1).Take(1).Should().BeEquivalentTo(secondUser);
            pageOfUsers.Skip(2).Take(1).Should().BeEquivalentTo(thirdUser);
        }
Ejemplo n.º 4
0
        public async Task Persistence_PagedList_To_API_PagedList()
        {
            // Arrange...
            _fixture.RepeatCount = 10;
            var users           = _fixture.Create <List <User> >();
            var inMemoryContext = InMemoryContextHelper.Create();

            InMemoryContextHelper.AddUsersToContext(inMemoryContext, users);
            var pagedListUsers = await Persistence.Models.PagedList <User> .CreateAsync(inMemoryContext.Users, 1, 5);

            var configuration = new MapperConfiguration(configure =>
            {
                configure.AddProfile <PersistencePagedListToApiPagedList>();
            });
            var sut = configuration.CreateMapper();

            // Act...
            var pagedListUserResponses = sut.Map <API.Models.v1.PagedList <UserResponse> >(pagedListUsers);

            // Assert...
            pagedListUserResponses.Count.Should().Be(pagedListUsers.PageSize);
            pagedListUserResponses.CurrentPage.Should().Be(pagedListUsers.CurrentPage);
            pagedListUserResponses.PageSize.Should().Be(pagedListUsers.PageSize);
            pagedListUserResponses.HasPrevious.Should().Be(pagedListUsers.HasPrevious);
            pagedListUserResponses.HasNext.Should().Be(pagedListUsers.HasNext);
            pagedListUserResponses.TotalCount.Should().Be(pagedListUsers.TotalCount);
            pagedListUserResponses.TotalPages.Should().Be(pagedListUsers.TotalPages);
        }
Ejemplo n.º 5
0
        public GamePageViewModel(GamePage gamePage, QuestHelper questHelper, InMemoryContextHelper inMemoryContextHelper)
        {
            GamePage               = gamePage;
            _questHelper           = questHelper;
            _inMemoryContextHelper = inMemoryContextHelper;

            GamePage.UpdateLayout();
            GamePage.MainCanvas.UpdateLayout();
        }
 public MainMenuPage(ApplicationService applicationService, NavigationService navigationService, LogHelper logHelper, QuestHelper questHelper, InMemoryContextHelper inMemoryContextHelper)
 {
     InitializeComponent();
     _applicationService    = applicationService;
     _navigationService     = navigationService;
     _logHelper             = logHelper;
     _questHelper           = questHelper;
     _inMemoryContextHelper = inMemoryContextHelper;
 }
        private IUnitOfWork GetUnitOfWork(out DataContext inMemoryContext)
        {
            inMemoryContext = InMemoryContextHelper.Create();
            var userRepository      = new UserRepository(inMemoryContext);
            var dt                  = _fixture.Create <DateTime>();
            var mockDateTimeService = MockDateTimeServiceHelper.Create(dt);
            var unitOfWork          = new Persistence.UnitOfWork(inMemoryContext, mockDateTimeService, userRepository);

            return(unitOfWork);
        }
        private void _StartButton_Click(object sender, RoutedEventArgs e)
        {
            IContextHelper contextHelper = new InMemoryContextHelper();
            GameContext    gameContext   = new GameContext(contextHelper);

            _navigationService.GamePage = new GamePage(_applicationService, _navigationService, _logHelper, _questHelper, _inMemoryContextHelper);
            _navigationService.MainWindowFrame.Content = _navigationService.GamePage;
            _ContinueButton.Opacity   = 1;
            _ContinueButton.IsEnabled = true;
            _inMemoryContextHelper.SetToOriginal();
        }
 public GamePage(ApplicationService applicationService, NavigationService navigationService, LogHelper logHelper, QuestHelper questHelper, InMemoryContextHelper inMemoryContextHelper)
 {
     InitializeComponent();
     playerStats = new PlayerStats();
     _StatsGoHere.Children.Add(new StatBlock(new StatBlockViewModel(playerStats)));
     this.Loaded          += new RoutedEventHandler(this.Page_Loaded);
     _applicationService   = applicationService;
     _navigationService    = navigationService;
     LogHelper             = logHelper;
     QuestHelper           = questHelper;
     InMemoryContextHelper = inMemoryContextHelper;
 }
Ejemplo n.º 10
0
        protected override void OnStartup(StartupEventArgs e)
        {
            LogHelper             logHelper             = new LogHelper();
            ApplicationService    applicationService    = new ApplicationService(logHelper);
            QuestHelper           questHelper           = new QuestHelper();
            InMemoryContextHelper inMemoryContextHelper = new InMemoryContextHelper();
            MainWindow            window = new MainWindow(applicationService, new NavigationService(applicationService, logHelper, questHelper, inMemoryContextHelper));

            window.Show();
            base.OnStartup(e);
            logHelper.logger.Info("Program started");
        }
        public GameCoreServices(GamePage gamePage, GamePageViewModel gamePageViewModel, PlayerStats playerStats, LogHelper logHelper, InMemoryContextHelper inMemoryContextHelper)
        {
            LogHelper  = logHelper;
            KeyRing    = new KeyRing();
            GameCanvas = gamePage.MainCanvas;
            StackPanel = gamePage._InventoryStackPanel;

            GamePageViewModel           = gamePageViewModel;
            PlayerStats                 = playerStats;
            PlayerStats.CurrentLocation = inMemoryContextHelper.LoadDataType <Location>()[0];

            _inMemoryContextHelper = inMemoryContextHelper;
        }
Ejemplo n.º 12
0
        public void Get_With_Null_Options_Should_Throw()
        {
            // Arrange...
            var        inMemoryContext = InMemoryContextHelper.Create();
            var        sut             = new UserRepository(inMemoryContext);
            GetOptions getOptions      = null;

            // Act...
            Func <Task> get = async() => await sut.Get(getOptions);

            // Assert...
            get.Should().Throw <ArgumentNullException>();
        }
Ejemplo n.º 13
0
        public void Find_Should_Not_Return_User_When_User_Is_Not_Findable()
        {
            // Arrange...
            var inMemoryContext = InMemoryContextHelper.Create();

            InMemoryContextHelper.AddUsersToContext(_fixture, inMemoryContext, 1);
            var sut             = new Persistence.Repositories.UserRepository(inMemoryContext);
            var randomFirstName = _fixture.Create <string>();

            // Act...
            var foundUsers = sut.Find(u => u.FirstName == randomFirstName);

            // Assert...
            foundUsers.Should().NotBeNull();
            foundUsers.Count().Should().Be(0);
        }
Ejemplo n.º 14
0
        public async Task Create_Should_Be_Able_To_Add_User()
        {
            // Arrange...
            var user            = _fixture.Create <User>();
            var inMemoryContext = InMemoryContextHelper.Create();
            var userRepository  = new UserRepository(inMemoryContext);
            var dt = _fixture.Create <DateTime>();
            var mockDateTimeService = MockDateTimeServiceHelper.Create(dt);
            var sut = new Persistence.UnitOfWork(inMemoryContext, mockDateTimeService, userRepository);

            // Act...
            sut.UserRepository.Create(user);
            await sut.CompleteAsync();

            // Assert...
            inMemoryContext.Users.Count().Should().Be(1);
            inMemoryContext.Users.First().Should().Be(user);
            user.Id.Should().NotBe(default);
Ejemplo n.º 15
0
        public async Task Get_With_Empty_Options_Should_Return_PagedList_With_No_Users_When_No_Users_Exist()
        {
            // Arrange...
            var inMemoryContext = InMemoryContextHelper.Create();
            var sut             = new UserRepository(inMemoryContext);
            var getUsersOptions = new GetOptions();

            // Act...
            var pagedList = await sut.Get(getUsersOptions);

            // Assert...
            pagedList.Should().BeEmpty();
            pagedList.Count.Should().Be(0);
            pagedList.TotalCount.Should().Be(0);
            pagedList.CurrentPage.Should().Be(0);
            pagedList.TotalPages.Should().Be(0);
            pagedList.HasPrevious.Should().BeFalse();
            pagedList.HasNext.Should().BeFalse();
        }
        public async Task GetUserHandler_Should_Get_User()
        {
            // Arrange...
            var unitOfWork = GetUnitOfWork(out var inMemoryContext);
            var user       = _fixture.Create <User>();

            InMemoryContextHelper.AddUserToContext(inMemoryContext, user);
            var sut          = new GetUserQueryHandler(unitOfWork);
            var getUserQuery = new GetUserQuery
            {
                Id = user.Id
            };
            var ct = new CancellationToken();

            // Act...
            var result = await sut.Handle(getUserQuery, ct);

            // Assert...
            result.Should().Be(user);
        }
Ejemplo n.º 17
0
        public async Task Filter_Should_Exclude_Users_That_Do_Not_Match_Filter()
        {
            // Arrange...
            var inMemoryContext = InMemoryContextHelper.Create();

            InMemoryContextHelper.AddUsersToContext(_fixture, inMemoryContext, 1);
            var onlyUser   = inMemoryContext.Users.First();
            var sut        = new Persistence.Repositories.UserRepository(inMemoryContext);
            var getOptions = new GetOptions();
            var filter     = new Filter("Title", GetDifferent(onlyUser.Title).ToString());

            getOptions.AddFilter(filter);

            // Act...
            var pageOfUsers = await sut.Get(getOptions);

            // Assert...
            pageOfUsers.Should().NotBeNull();
            pageOfUsers.Count.Should().Be(0);
        }
Ejemplo n.º 18
0
        public async Task Search_Should_Not_Find_Users_That_Do_Not_Match_Search()
        {
            // Arrange...
            var inMemoryContext = InMemoryContextHelper.Create();

            InMemoryContextHelper.AddUsersToContext(_fixture, inMemoryContext, 2);
            var onlyUser   = inMemoryContext.Users.First();
            var sut        = new Persistence.Repositories.UserRepository(inMemoryContext);
            var getOptions = new GetOptions();

            getOptions.SearchQuery = _fixture.Create <string>();

            // Act...
            var pageOfUsers = await sut.Get(getOptions);

            // Assert...
            pageOfUsers.Should().NotBeNull();
            pageOfUsers.Count.Should().Be(0);
            pageOfUsers.TotalCount.Should().Be(0);
        }
        public async Task DeleteUserHandler_Should_Delete_User()
        {
            // Arrange...
            var unitOfWork = GetUnitOfWork(out var inMemoryContext);
            var user       = _fixture.Create <User>();

            InMemoryContextHelper.AddUserToContext(inMemoryContext, user);
            var sut = new DeleteUserCommandHandler(unitOfWork);
            var deleteUserCommand = new DeleteUserCommand
            {
                Id = user.Id
            };
            var ct = new CancellationToken();

            // Act...
            await sut.Handle(deleteUserCommand, ct);

            // Assert...
            inMemoryContext.Users.Count().Should().Be(0);
        }
        public async Task GetUsersHandler_Should_Get_Users()
        {
            // Arrange...
            var unitOfWork = GetUnitOfWork(out var inMemoryContext);

            InMemoryContextHelper.AddUsersToContext(_fixture, inMemoryContext, 5);
            var mapper        = GetMapper();
            var sut           = new GetUsersQueryHandler(unitOfWork, mapper);
            var getUsersQuery = new GetUsersQuery
            {
                PageNumber = 1,
                PageSize   = 10
            };
            var ct = new CancellationToken();

            // Act...
            await sut.Handle(getUsersQuery, ct);

            // Assert...
            inMemoryContext.Users.Count().Should().Be(5);
        }
Ejemplo n.º 21
0
        public async Task Get_With_Empty_Options_Should_Return_PageList_With_One_User_When_Only_One_User_Exists()
        {
            // Arrange...
            var inMemoryContext = InMemoryContextHelper.Create();

            InMemoryContextHelper.AddUsersToContext(_fixture, inMemoryContext, 1);
            var sut             = new UserRepository(inMemoryContext);
            var getUsersOptions = new GetOptions();

            // Act...
            var pagedList = await sut.Get(getUsersOptions);

            // Assert...
            pagedList.Should().NotBeNull();
            pagedList.Count.Should().Be(1);
            pagedList.TotalCount.Should().Be(1);
            pagedList.CurrentPage.Should().Be(1);
            pagedList.TotalPages.Should().Be(1);
            pagedList.HasPrevious.Should().BeFalse();
            pagedList.HasNext.Should().BeFalse();
        }
Ejemplo n.º 22
0
 public NavigationService(ApplicationService applicationService, LogHelper logHelper, QuestHelper questHelper, InMemoryContextHelper inMemoryContextHelper)
 {
     LogHelper = logHelper;
     MainMenu  = new MainMenuPage(applicationService, this, LogHelper, questHelper, inMemoryContextHelper);
 }