コード例 #1
0
        public void GetOwnedSets_BricksetUserExists_ReturnsListOfOwnedSets()
        {
            var wantedSet    = ModelsSetup.GetSetUnderTest();
            var ownedSet     = ModelsSetup.GetSecondSetUnderTest();
            var bricksetUser = ModelsSetup.GetBricksetUserUnderTest();

            wantedSet = InsertData(wantedSet);
            ownedSet  = InsertData(ownedSet);
            InsertData(bricksetUser);

            var bricksetUserSetWanted = new BricksetUserSet
            {
                Set    = wantedSet,
                Wanted = true
            };

            var bricksetUserSetOwned = new BricksetUserSet
            {
                Set   = ownedSet,
                Owned = true
            };

            _bricksetUserRepository.AddOrUpdateSet(bricksetUser.BricksetUsername, bricksetUserSetWanted);
            _bricksetUserRepository.AddOrUpdateSet(bricksetUser.BricksetUsername, bricksetUserSetOwned);

            var bricksetUserSetList = _bricksetUserRepository.GetOwnedSets(bricksetUser.BricksetUsername).ToList();

            Check.That(bricksetUserSetList).CountIs(1);
            Check.That(bricksetUserSetList.Select(bricksetUserSet => bricksetUserSet.Set.SetId)).Contains(bricksetUserSetOwned.Set.SetId);
        }
コード例 #2
0
        public void AddOrUpdateSet_BricksetUserSetExists_UpdatesAndReturnsModel()
        {
            var set          = ModelsSetup.GetSetUnderTest();
            var bricksetUser = ModelsSetup.GetBricksetUserUnderTest();

            set = InsertData(set);
            InsertData(bricksetUser);

            var bricksetUserSetUnderTest = new BricksetUserSet
            {
                Set    = set,
                Wanted = true
            };

            _bricksetUserRepository.AddOrUpdateSet(bricksetUser.BricksetUsername, bricksetUserSetUnderTest);

            bricksetUserSetUnderTest.Wanted        = false;
            bricksetUserSetUnderTest.Owned         = true;
            bricksetUserSetUnderTest.QuantityOwned = 2;

            var bricksetUserSet = _bricksetUserRepository.AddOrUpdateSet(bricksetUser.BricksetUsername, bricksetUserSetUnderTest);

            Check.That(bricksetUserSet).HasFieldsWithSameValues(bricksetUserSetUnderTest);
            Check.That(bricksetUserSet.Wanted).IsFalse();
        }
コード例 #3
0
        private Set SetupSetForSearch(int suffix)
        {
            var theme = InsertData(ModelsSetup.GetThemeUnderTest($"SET THEME{suffix}"));

            var subtheme = ModelsSetup.GetSubthemeUnderTest($"SET SUBTHEME{suffix}");

            subtheme.Theme = theme;

            subtheme = InsertData(subtheme);

            var set = ModelsSetup.GetSetForSearch(suffix);

            set.SetId      = suffix;
            set.Theme      = theme;
            set.Subtheme   = subtheme;
            set.ThemeGroup = InsertData(new ThemeGroup {
                Value = $"SET THEMEGROUP{suffix}"
            });
            set.PackagingType = InsertData(new PackagingType {
                Value = $"SET PACKAGINGTYPE{suffix}"
            });
            set.Category = InsertData(new Category {
                Value = $"SET CATEGORY{suffix}"
            });
            set.Tags.Add(InsertData(new Tag {
                Value = $"SET TAG{suffix}"
            }));

            return(InsertData(set));
        }
コード例 #4
0
        public void Get_ThemeDoesNotExist_ReturnsNull()
        {
            InsertData(ModelsSetup.GetThemeUnderTest(Guid.NewGuid().ToString()));

            var theme = _themeRepository.Get(ModelsSetup.NonExistentThemeName);

            Check.That(theme).IsNull();
        }
コード例 #5
0
        public void Get_ThemeExists_ReturnsModel()
        {
            var themeUnderTest = InsertData(ModelsSetup.GetThemeUnderTest(Guid.NewGuid().ToString()));

            var theme = _themeRepository.Get(themeUnderTest.Name);

            Check.That(theme.Name).IsEqualTo(themeUnderTest.Name);
        }
コード例 #6
0
        public void Get_SetExists_ReturnsModel()
        {
            var setUnderTest = ModelsSetup.GetSetUnderTest();

            InsertData(setUnderTest);

            var set = _setRepository.Get(setUnderTest.SetId);

            Check.That(set.SetId).IsEqualTo(setUnderTest.SetId);
        }
コード例 #7
0
        public void Get_SetDoesNotExist_ReturnsNull()
        {
            var setUnderTest = ModelsSetup.GetSetUnderTest();

            InsertData(setUnderTest);

            var set = _setRepository.Get(setUnderTest.SetId + 1);

            Check.That(set).IsNull();
        }
コード例 #8
0
        public void AddOrUpdate_ThemeYearFromIsLessThanMinimumConstant_ReturnsNull()
        {
            var subthemeUnderTest = ModelsSetup.GetSubthemeUnderTest(Guid.NewGuid().ToString());

            subthemeUnderTest.Theme.YearFrom = Constants.MinimumSetYear - 1;

            var subtheme = _subthemeRepository.AddOrUpdate(subthemeUnderTest);

            Check.That(subtheme).IsNull();
        }
コード例 #9
0
        public void Exists_ValidUsernameAndExists_ReturnsTrue()
        {
            var bricksetUserUnderTest = ModelsSetup.GetBricksetUserUnderTest();

            InsertData(bricksetUserUnderTest);

            var bricksetUserExists = _bricksetUserRepository.Exists(bricksetUserUnderTest.BricksetUsername);

            Check.That(bricksetUserExists).IsTrue();
        }
コード例 #10
0
        public void Remove_ValidUsernameAndDoesNotExist_ReturnsFalse()
        {
            var bricksetUserUnderTest = ModelsSetup.GetBricksetUserUnderTest();

            InsertData(bricksetUserUnderTest);

            var removedUser = _bricksetUserRepository.Remove(Guid.NewGuid().ToString());

            Check.That(removedUser).IsFalse();
        }
コード例 #11
0
        public void AddOrUpdate_NewValidTheme_InsertsModel()
        {
            var themeUnderTest = ModelsSetup.GetThemeUnderTest(Guid.NewGuid().ToString());

            _themeRepository.AddOrUpdate(themeUnderTest);

            var theme = _themeRepository.Get(themeUnderTest.Name);

            Check.That(theme.Name).IsEqualTo(themeUnderTest.Name);
        }
コード例 #12
0
        public void UpdateUserSynchronizationTimestamp_BricksetUserDoesNotExist_ReturnsNull()
        {
            var bricksetUserUnderTest = ModelsSetup.GetBricksetUserUnderTest();

            InsertData(bricksetUserUnderTest);

            var bricksetUser = _bricksetUserRepository.UpdateUserSynchronizationTimestamp(Guid.NewGuid().ToString(), DateTimeOffset.Now);

            Check.That(bricksetUser).IsNull();
        }
コード例 #13
0
        public void Get_BricksetUserDoesNotExist_ReturnsNull()
        {
            var bricksetUserUnderTest = ModelsSetup.GetBricksetUserUnderTest();

            InsertData(bricksetUserUnderTest);

            var bricksetUser = _bricksetUserRepository.Get("username");

            Check.That(bricksetUser).IsNull();
        }
コード例 #14
0
        public void GetAllUsernames_BricksetUserTypeDoesNotExist_ReturnsEmptyList()
        {
            var bricksetUser = ModelsSetup.GetBricksetUserUnderTest();

            InsertData(bricksetUser);

            var usernameList = _bricksetUserRepository.GetAllUsernames(BricksetUserType.Friend);

            Check.That(usernameList).IsEmpty();
        }
コード例 #15
0
        public void AddOrUpdateSet_NullBricksetUserSet_ReturnsNull()
        {
            var bricksetUser = ModelsSetup.GetBricksetUserUnderTest();

            InsertData(bricksetUser);

            var bricksetUserSet = _bricksetUserRepository.AddOrUpdateSet(bricksetUser.BricksetUsername, null);

            Check.That(bricksetUserSet).IsNull();
        }
コード例 #16
0
        public void GetSet_InvalidSetId_ReturnsNull()
        {
            var bricksetUser = ModelsSetup.GetBricksetUserUnderTest();

            InsertData(bricksetUser);

            var bricksetUserSet = _bricksetUserRepository.GetSet(bricksetUser.BricksetUsername, 0);

            Check.That(bricksetUserSet).IsNull();
        }
コード例 #17
0
        public void Get_BricksetUserExists_ReturnsModel()
        {
            var bricksetUserUnderTest = ModelsSetup.GetBricksetUserUnderTest();

            InsertData(bricksetUserUnderTest);

            var bricksetUser = _bricksetUserRepository.Get(bricksetUserUnderTest.BricksetUsername);

            Check.That(bricksetUser.BricksetUsername).IsEqualTo(bricksetUserUnderTest.BricksetUsername);
        }
コード例 #18
0
        public void GetAllUsernames_BricksetUserTypeExists_ReturnsListOfUsernames()
        {
            var bricksetUser = ModelsSetup.GetBricksetUserUnderTest();

            InsertData(bricksetUser);

            var usernameList = _bricksetUserRepository.GetAllUsernames(bricksetUser.UserType);

            Check.That(usernameList).Not.IsEmpty();
            Check.That(usernameList.First()).IsEqualTo(bricksetUser.BricksetUsername);
        }
コード例 #19
0
        public void AddOrUpdate_NewValidSet_InsertsModel()
        {
            var setUnderTest = ModelsSetup.GetSetUnderTest();

            _setRepository.AddOrUpdate(setUnderTest);

            var set = _setRepository.Get(setUnderTest.SetId);

            Check.That(set).IsNotNull();
            Check.That(set.SetId).IsEqualTo(setUnderTest.SetId);
        }
コード例 #20
0
        public void Add_BricksetUserDoesNotExist_InsertsAndReturnsModel()
        {
            var bricksetUserUnderTest = ModelsSetup.GetBricksetUserUnderTest();

            InsertData(bricksetUserUnderTest);

            const string newUsername = "******";

            var bricksetUser = _bricksetUserRepository.Add(bricksetUserUnderTest.UserType, newUsername);

            Check.That(bricksetUser.BricksetUsername).IsEqualTo(newUsername);
        }
コード例 #21
0
        public void SearchBy_SearchTermDoesNotExist_ReturnsEmpty()
        {
            var setUnderTest = ModelsSetup.GetSetUnderTest();

            setUnderTest.Name = "SETUNDERTEST";

            InsertData(setUnderTest);

            var searchResult = _setRepository.SearchBy($"{setUnderTest.Name}_NONEXISTANT");

            Check.That(searchResult).IsEmpty();
        }
コード例 #22
0
        public void Remove_ValidUsernameAndExists_ReturnsTrueAndRemovesUser()
        {
            var    bricksetUserUnderTest     = ModelsSetup.GetBricksetUserUnderTest();
            string bricksetUsernameUnderTest = bricksetUserUnderTest.BricksetUsername;

            InsertData(bricksetUserUnderTest);

            var removedUser = _bricksetUserRepository.Remove(bricksetUsernameUnderTest);

            Check.That(removedUser).IsTrue();
            Check.That(_bricksetUserRepository.Exists(bricksetUsernameUnderTest)).IsFalse();
        }
コード例 #23
0
        public void AllForTheme_SetForThemeDoesNotExist_ReturnsEmpty()
        {
            var set = ModelsSetup.GetSetUnderTest();

            set.Theme = InsertData(ModelsSetup.GetThemeUnderTest(Guid.NewGuid().ToString()));

            InsertData(set);

            var allSetsForTheme = _setRepository.AllForTheme(ModelsSetup.NonExistentThemeName);

            Check.That(allSetsForTheme).IsEmpty();
        }
コード例 #24
0
        public void Get_SubthemeExists_ReturnModel()
        {
            var subthemeUnderTest = ModelsSetup.GetSubthemeUnderTest(Guid.NewGuid().ToString());

            InsertData(subthemeUnderTest.Theme);
            InsertData(subthemeUnderTest);

            var subtheme = _subthemeRepository.Get(subthemeUnderTest.Theme.Name, subthemeUnderTest.Name);

            Check.That(subtheme).IsNotNull();
            Check.That(subtheme.Name).IsEqualTo(subthemeUnderTest.Name);
        }
コード例 #25
0
        public void Get_SubthemeDoesNotExist_ReturnsNull(string themeName, string subthemeName)
        {
            var subthemeUnderTest = ModelsSetup.GetSubthemeUnderTest(subthemeName == ModelsSetup.SubthemeUnderTestName ? ModelsSetup.SubthemeUnderTestName : Guid.NewGuid().ToString());

            subthemeUnderTest.Theme = InsertData(ModelsSetup.GetThemeUnderTest(themeName == ModelsSetup.ThemeUnderTestName ? themeName : Guid.NewGuid().ToString()));

            InsertData(subthemeUnderTest);

            var subtheme = _subthemeRepository.Get(themeName, subthemeName);

            Check.That(subtheme).IsNull();
        }
コード例 #26
0
        public void AddOrUpdate_NewValidSubtheme_InsertsModel()
        {
            var subthemeUnderTest = ModelsSetup.GetSubthemeUnderTest(Guid.NewGuid().ToString());

            InsertData(subthemeUnderTest.Theme);

            _subthemeRepository.AddOrUpdate(subthemeUnderTest);

            var subtheme = _subthemeRepository.Get(subthemeUnderTest.Theme.Name, subthemeUnderTest.Name);

            Check.That(subtheme).IsNotNull();
            Check.That(subtheme.Name).IsEqualTo(subthemeUnderTest.Name);
        }
コード例 #27
0
        public void UpdateUserSynchronizationTimestamp_BricksetUserExists_UpdatesUserSynchronizationTimestampAndReturnsModel()
        {
            var bricksetUserUnderTest = ModelsSetup.GetBricksetUserUnderTest();

            InsertData(bricksetUserUnderTest);

            var synchronizationTimestamp = DateTimeOffset.Now.AddHours(-2);

            var bricksetUser = _bricksetUserRepository.UpdateUserSynchronizationTimestamp(bricksetUserUnderTest.BricksetUsername, synchronizationTimestamp);

            Check.That(bricksetUser).IsNotNull();
            Check.That(bricksetUser.UserSynchronizationTimestamp).IsEqualTo(synchronizationTimestamp);
        }
コード例 #28
0
        public void AddOrUpdateSet_BricksetUserDoesNotExist_ReturnsNull()
        {
            var set = ModelsSetup.GetSetUnderTest();

            InsertData(set);

            var bricksetUserSet = _bricksetUserRepository.AddOrUpdateSet("username", new BricksetUserSet {
                Set = new Set {
                    SetId = set.SetId
                }
            });

            Check.That(bricksetUserSet).IsNull();
        }
コード例 #29
0
        public void AllForCategory_CategoryDoesNotExist_ReturnsEmpty()
        {
            var category = InsertData(ModelsSetup.CategoryReferenceData);

            var setUnderTest = ModelsSetup.GetSetUnderTest();

            setUnderTest.Category = category;

            InsertData(setUnderTest);

            var allSetsForCategory = _setRepository.AllForCategory($"{ModelsSetup.CategoryReferenceDataValue}_NON-EXISTENT");

            Check.That(allSetsForCategory).IsEmpty();
        }
コード例 #30
0
        public void AddOrUpdateSet_InvalidUsername_ReturnsNull(string username)
        {
            var set          = ModelsSetup.GetSetUnderTest();
            var bricksetUser = ModelsSetup.GetBricksetUserUnderTest();

            InsertData(set);
            InsertData(bricksetUser);

            var bricksetUserSet = _bricksetUserRepository.AddOrUpdateSet(username, new BricksetUserSet {
                Set = new Set {
                    SetId = set.SetId
                }
            });

            Check.That(bricksetUserSet).IsNull();
        }