Пример #1
0
        public void EditPostAction_ValidPlayerViewModelWithValidationException_PlayerViewModelIsReturned()
        {
            // Arrange
            var testData = MakeTestPlayerViewModel();

            SetupEditThrowsValidationException();

            var sut = BuildSUT();

            // Act
            var result = TestExtensions.GetModel <PlayerViewModel>(sut.Edit(testData));

            // Assert
            VerifyEdit(Times.Once());
            Assert.IsNotNull(result, ASSERT_FAIL_VIEW_MODEL_MESSAGE);
        }
Пример #2
0
        public void WhenValueIsNull_MaximumLengthValidator_ExpectJsConverterValidatorMessageAreNullAndEqual()
        {
            var seedData = new SeedData
            {
                //RuleFor(rf => rf.MaximumLengthValidatorProp).MaximumLength(6);
                MaximumLengthValidatorProp = null
            };

            var validationRules = new SeedDataValidator();

            var actual   = TestExtensions.GetActualErrors(seedData, validationRules).FirstOrDefault();
            var expected = TestExtensions.GetExpectErrorMessages(seedData, validationRules).FirstOrDefault();


            Assert.Equal(expected, actual);
        }
        public void TournamentResults_TournamentResultsRequested_TournamentResultsReturned()
        {
            // Arrange
            var testTournamentResults = new GameServiceTestFixture().TestGameResults().Build();
            var expected = new TournamentResultsViewModelBuilder().Build();

            SetupGameResultsGetTournamentResults(TOURNAMENT_ID, testTournamentResults);

            var sut = BuildSUT();

            // Act
            var actual = TestExtensions.GetModel <TournamentResultsViewModel>(sut.TournamentResults(TOURNAMENT_ID, TOURNAMENT_NAME));

            // Assert
            TestHelper.AreEqual(expected, actual, new TournamentResultsViewModelComparer());
        }
        public void Index_GetAllContributors_AllContributorsAreReturned()
        {
            // Arrange
            var testData = MakeTestContributorTeams();
            var expected = MakeTestContributorTeamViewModels(testData);

            SetupGetAll(testData);

            var sut = BuildSUT();

            // Act
            var actual = TestExtensions.GetModel <IEnumerable <ContributorsTeamViewModel> >(sut.Index()).ToList();

            // Assert
            CollectionAssert.AreEqual(expected, actual, new ContributorTeamViewModelComparer());
        }
        public void UserDetails_ExistingUser_UserViewModelIsReturned()
        {
            // Arrange
            var user = CreateUser();

            MockUserServiceGetUserDetails(USER_ID, user);

            var sut      = BuildSUT();
            var expected = CreateUserViewModel();

            // Act
            var actual = TestExtensions.GetModel <UserViewModel>(sut.UserDetails(USER_ID));

            // Assert
            TestHelper.AreEqual <UserViewModel>(expected, actual, new Comparers.UserViewModelComparer());
        }
        public void BinaryExpressionTest(object left, object right, object result)
        {
            var leftExpression = new ExpressionMock(() => left);
            var rightExpr      = new ExpressionMock(() => right);
            var @operator      = new OperatorMock(() => result);
            var expression     = new Core.Cells.Expressions.BinaryExpression(leftExpression, @operator, rightExpr);

            var processor = TestExtensions.CreateProcessor();

            Assert.AreEqual(result, expression.Evaluate(processor));
            Assert.AreEqual(processor, leftExpression.Processor, "Left expression");
            Assert.AreEqual(processor, rightExpr.Processor, "Right expression");

            Assert.AreEqual(left, @operator.Left, "Left value");
            Assert.AreEqual(right, @operator.Right, "Right value");
        }
Пример #7
0
        public void EditGetAction_ExistingPlayer_PlayerViewModelIsReturned()
        {
            // Arrange
            var testData = MakeTestPlayer(TEST_PLAYER_ID);
            var expected = MakeTestPlayerViewModel(TEST_PLAYER_ID);

            SetupGet(TEST_PLAYER_ID, testData);

            var sut = BuildSUT();

            // Act
            var actual = TestExtensions.GetModel <PlayerViewModel>(sut.Edit(TEST_PLAYER_ID));

            // Assert
            TestHelper.AreEqual(expected, actual, new PlayerViewModelComparer());
        }
        public void WhenValueIsNull_NotEmptyValidatorMessage_ExpectJsConverterValidatorMessageAreEqual()
        {
            var seedData = new SeedData
            {
                //RuleFor(rf => rf.NotNullValidatorProp).NotNull();
                NotEmptyValidatorProp = null
            };

            var validationRules = new SeedDataValidator();

            var actual   = TestExtensions.GetActualErrors(seedData, validationRules).FirstOrDefault();
            var expected = TestExtensions.GetExpectErrorMessages(seedData, validationRules).FirstOrDefault();


            Assert.Equal(expected, actual);
        }
Пример #9
0
        public async Task ProblemJson_400_ModelValidation_Test()
        {
            //Arrange
            var concert = new User
            {
                UserId = Guid.NewGuid()
            };
            var request = TestExtensions.GetJsonRequest(concert, "POST", "/core/v1/users");
            //Act
            var response = await fixture._httpClient.SendAsync(request);

            //Assert
            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
            response.Content.Headers.ContentLength.Should().BeGreaterThan(0);
            response.ShouldBeProblemJson();
        }
Пример #10
0
        internal StorageConnectionString GetConnectionString(
            SharedAccessSignatureCredentials credentials = default,
            bool includeEndpoint = true,
            bool includeTable    = false)
        {
            credentials ??= GetAccountSasCredentials();
            if (!includeEndpoint)
            {
                return(TestExtensions.CreateStorageConnectionString(
                           credentials,
                           TestConfigDefault.AccountName));
            }

            (Uri, Uri)blobUri = StorageConnectionString.ConstructBlobEndpoint(
                Constants.Https,
                TestConfigDefault.AccountName,
Пример #11
0
        public void WhenCreditCardNumberIsCorrect_CreditCardValidator_ExpectJsConverterValidatorMessageIsNullAndMessagesAreEqual()
        {
            var seedData = new SeedData
            {
                //RuleFor(rf => rf.CreditCardValidatorProp).CreditCard();
                CreditCardValidatorProp = "5105105105105100"
            };

            var validators = new SeedDataValidator();

            var actual   = TestExtensions.GetActualErrors(seedData, validators).FirstOrDefault();
            var expected = TestExtensions.GetExpectErrorMessages(seedData, validators).FirstOrDefault();

            Assert.Null(actual);
            Assert.Equal(expected, actual);
        }
Пример #12
0
        public void CloseCreatedProject_NewProjectWillExistInClosedProjectsAndUnexistsInOpenProjects_TrueReturned()
        {
            var generatedProjectName = TestExtensions.GetRandomString(length: 6);
            var projectForm          = new ProjectFormInfo()
            {
                Name        = generatedProjectName,
                Description = "this project needs to be moved to closed projects",
                Visibility  = Visibility.Public,
            };

            ProjectsSteps.CreateNewProject(projectForm);
            ProjectsSteps.CloseProject(generatedProjectName);
            var actual = ProjectsSteps.ContainsClosedProject(generatedProjectName) && !ProjectsSteps.ContainsOpenProject(generatedProjectName);

            Assert.True(actual);
        }
        public void UserDetails_ExistingUser_UserViewModelIsReturned()
        {
            // Arrange
            var user = CreateUser();

            SetupGetUserDetails(EXISTING_ID, user);

            var sut      = BuildSUT();
            var expected = CreateUserViewModel();

            // Act
            var actual = TestExtensions.GetModel <UserViewModel>(sut.UserDetails(EXISTING_ID));

            // Assert
            Assert.Equal <UserViewModel>(expected, actual, new UserViewModelComparer());
        }
Пример #14
0
        public void Details_ExistingPlayer_PlayerViewModelIsReturned()
        {
            // Arrange
            var testData = MakeTestPlayer(TEST_PLAYER_ID);
            var expected = MakeTestPlayerViewModel(TEST_PLAYER_ID);

            SetupGet(TEST_PLAYER_ID, testData);

            var sut = BuildSUT();

            // Act
            var actual = TestExtensions.GetModel <PlayerRefererViewModel>(sut.Details(TEST_PLAYER_ID));

            // Assert
            Assert.Equal <PlayerViewModel>(expected, actual.Model, new PlayerViewModelComparer());
            VerifyGetAllowedOperation(_allowedOperationDetails, Times.Once());
        }
Пример #15
0
        public void Scripting_Distribute_With_Spacing()
        {
            var client   = this.GetScriptingClient();
            var pagesize = new VA.Geometry.Size(4, 4);

            client.Document.NewDocument();
            client.Page.NewPage(pagesize, false);

            var size1 = new VA.Geometry.Size(0.5, 0.5);
            var size2 = new VA.Geometry.Size(1.0, 1.0);
            var size3 = new VA.Geometry.Size(1.5, 1.5);

            var r1 = new VA.Geometry.Rectangle(new VA.Geometry.Point(1, 1), size1);
            var r2 = new VA.Geometry.Rectangle(new VA.Geometry.Point(2, 2), size2);
            var r3 = new VA.Geometry.Rectangle(new VA.Geometry.Point(4, 4), size3);

            var s1 = client.Draw.DrawRectangle(r1);
            var s2 = client.Draw.DrawRectangle(r2);
            var s3 = client.Draw.DrawRectangle(r3);

            client.Selection.SelectNone();
            client.Selection.SelectShapesById(s1);
            client.Selection.SelectShapesById(s2);
            client.Selection.SelectShapesById(s3);

            var targetshapes = new VisioScripting.TargetShapes();

            client.Distribute.DistributeSelectionOnAxis(targetshapes, VisioScripting.Models.Axis.XAxis, 0.25);
            client.Distribute.DistributeSelectionOnAxis(targetshapes, VisioScripting.Models.Axis.YAxis, 1.0);

            var shapes        = new[] { s1, s2, s3 };
            var shapeids      = shapes.Select(s => (int)s.ID16).ToList();
            var out_xfrms     = VisioAutomation.Shapes.ShapeXFormCells.GetCells(client.Page.GetActivePage(), shapeids, VA.ShapeSheet.CellValueType.Result);
            var out_positions = out_xfrms.Select(xfrm => TestExtensions.ToPoint(xfrm.PinX.Value, xfrm.PinY.Value)).ToArray();

            Assert.AreEqual(1.25, out_positions[0].X);
            Assert.AreEqual(1.25, out_positions[0].Y);
            Assert.AreEqual(2.25, out_positions[1].X);
            Assert.AreEqual(3.00, out_positions[1].Y);
            Assert.AreEqual(3.75, out_positions[2].X);
            Assert.AreEqual(5.25, out_positions[2].Y);

            var targetdoc = new VisioScripting.TargetDocument();

            client.Document.CloseDocument(targetdoc, true);
        }
Пример #16
0
        public void WhenValueLengthGreaterThan6_MaximumLengthValidator_ExpectJsConverterValidatorMessageEqual()
        {
            var seedData = new SeedData
            {
                //RuleFor(rf => rf.MaximumLengthValidatorProp).MaximumLength(6);
                MaximumLengthValidatorProp = "sample_sample"
            };

            var validationRules = new SeedDataValidator();

            var actual   = TestExtensions.GetActualErrors(seedData, validationRules).FirstOrDefault();
            var expected = TestExtensions.GetExpectErrorMessages(seedData, validationRules).FirstOrDefault();

            Assert.NotNull(actual);

            Assert.Equal(expected, actual);
        }
Пример #17
0
        public async Task ProblemJson_405_MethodNotAllowed_Test()
        {
            //Arrange
            var concert = new Concert
            {
                ConcertId = Guid.NewGuid(),
                Name      = "Best Kept Secret Festival 2019"
            };
            var request = TestExtensions.GetJsonRequest(concert, "PUT", "/core/v1/concerts");
            //Act
            var response = await fixture._httpClient.SendAsync(request);

            //Assert
            response.StatusCode.Should().Be(HttpStatusCode.MethodNotAllowed);
            response.Content.Headers.ContentLength.Should().BeGreaterThan(0);
            response.ShouldBeProblemJson();
        }
Пример #18
0
        public async Task SignRequest_WithValidRequest_WillSignProperly(string method)
        {
            // Arrange
            var testData = await TestData.For(method);

            var expectedMAuthHeader = $"MWS {TestExtensions.ClientUuid.ToHyphenString()}:{testData.Payload}";

            // Act
            var actual = await testData.Request.Sign(TestExtensions.ClientOptions(testData.SignedTime));

            // Assert
            Assert.Equal(expectedMAuthHeader, actual.Headers.GetFirstValueOrDefault <string>(Constants.MAuthHeaderKey));
            Assert.Equal(
                testData.SignedTime.ToUnixTimeSeconds(),
                actual.Headers.GetFirstValueOrDefault <long>(Constants.MAuthTimeHeaderKey)
                );
        }
        public async Task CheckSuccessfulCreatingNewRepository_NewRepositoryShouldBeCreated_TrueReturned()
        {
            var newRepository = new RepositoryRequestBody()
            {
                Name              = TestExtensions.GetRandomString(5),
                Description       = "that repository was created with rest api service",
                AutoInit          = true,
                IsPrivate         = false,
                GitIgnoreTemplate = "VisualStudio",
            };

            var repository = await RepositoryController.AddRepositoryAsync(newRepository);

            var repositories = (await RepositoryController.GetRepositoriesAsync()).ToList();

            Assert.Contains(repository, repositories);
        }
        public static async Task SignRequest_WithValidRequest_WillSignProperly(string method)
        {
            // Arrange
            var testData = await method.FromResource();

            var expectedMAuthHeader = testData.MAuthHeader;

            // Act
            var actual = await testData.ToHttpRequestMessage().Sign(TestExtensions.ClientOptions(testData.SignedTime));

            // Assert
            Assert.Equal(expectedMAuthHeader, actual.Headers.GetFirstValueOrDefault <string>(Constants.MAuthHeaderKey));
            Assert.Equal(
                testData.SignedTime.ToUnixTimeSeconds(),
                actual.Headers.GetFirstValueOrDefault <long>(Constants.MAuthTimeHeaderKey)
                );
        }
        public void EditPostAction_InvalidGameResultViewModel_GameResultViewModelIsReturned()
        {
            // Arrange
            var testData       = CreateResultViewModel();
            var expectedResult = CreateExpectedResult();

            var sut = BuildSUT();

            sut.ModelState.AddModelError(string.Empty, string.Empty);

            // Act
            var result = TestExtensions.GetModel <GameResultViewModel>(sut.Edit(testData));

            // Assert
            VerifyEditGameResult(expectedResult, Times.Never());
            Assert.IsNotNull(result, ASSERT_FAIL_VIEW_MODEL_MESSAGE);
        }
        public void CreateGetAction_GameResultViewModelRequested_GameResultViewModelIsReturned()
        {
            // Arrange
            _teamServiceMock.Setup(ts => ts.Get()).Returns(new List <Team>());
            var expected = new GameResultViewModel
            {
                TournamentId = TOURNAMENT_ID
            };

            var controller = BuildSUT();

            // Act
            var actual = TestExtensions.GetModel <GameResultViewModel>(controller.Create(TOURNAMENT_ID));

            // Assert
            TestHelper.AreEqual <GameResultViewModel>(expected, actual, new GameResultViewModelComparer());
        }
        public async Task SendAsync_WithValidRequest_WillSignProperly(string method)
        {
            // Arrange
            var testData = await TestData.For(method);

            var actual         = new AssertSigningHandler();
            var signingHandler = new MAuthSigningHandler(TestExtensions.ClientOptions(testData.SignedTime), actual);

            // Act
            using (var client = new HttpClient(signingHandler))
            {
                await client.SendAsync(testData.Request);
            }

            // Assert
            Assert.Equal(testData.MAuthHeader, actual.MAuthHeader);
            Assert.Equal(testData.SignedTime, actual.MAuthTimeHeader.FromUnixTimeSeconds());
        }
        public void EditPost_MissingEntityException_RedirectToGameResultViewModel()
        {
            // Arrange
            var gameResultViewModel = CreateResultViewModel();
            var expectedResult      = CreateExpectedResult();

            _gameServiceMock.Setup(grs => grs.EditGameResult(It.IsAny <Game>()))
            .Throws(new MissingEntityException());

            var sut = BuildSUT();

            // Act
            var result = TestExtensions.GetModel <GameResultViewModel>(sut.Edit(gameResultViewModel));

            // Assert
            VerifyEditGameResult(expectedResult, Times.Once());
            Assert.IsNotNull(result, ASSERT_FAIL_VIEW_MODEL_MESSAGE);
        }
Пример #25
0
        public async Task Can_join_channel()
        {
            ////Arrange
            var client = ElasticClientFactory.Create();
            var user   = TestExtensions.RandomUser();

            await new UserService().EnsureUser(user);

            ////Act
            await new ChannelService().Join(user, "global");

            ////Assert
            await client.Indices.RefreshAsync(Indices.Index <UserAccount>());

            var userAccount = await new UserService().FindById(user.UserId());

            Assert.IsTrue(userAccount.Channels.Contains("global"));
        }
Пример #26
0
        public void CheckCreatingNewRepositories_RepositoryPageWillExistNewRepository_TrueReturned()
        {
            var generatedRepositoryName = TestExtensions.GetRandomString(length: 8);
            var repositoryForm          = new RepositoryFormInfo()
            {
                Name               = generatedRepositoryName,
                Description        = "test creating repository",
                NeedToAddReadmi    = true,
                Visibility         = Visibility.Private,
                NeedToAddGitIgnore = true,
                GitIgnoreTemplate  = "VisualStudio",
            };

            RepositoriesSteps.CreateNewRepository(repositoryForm);
            var actual = RepositoriesSteps.ContainsRepository(generatedRepositoryName);

            Assert.True(actual);
        }
Пример #27
0
        public void Index_FeedbacksExist_AllFeedbacksReturned()
        {
            // Arrange
            var feedbacks = GetFeedbacks();
            var expected  = GetRequestsViewModels();

            _feedbacksServiceMock.Setup(r => r.Get()).Returns(feedbacks);

            var sut = BuildSut();

            // Act
            var actionResult = sut.Index();

            // Assert
            var actual = TestExtensions.GetModel <List <RequestsViewModel> >(actionResult);

            CollectionAssert.AreEqual(expected, actual, new RequestsViewModelComparer());
        }
    void when_post_processing()
    {
        xit["manual test"] = () => {
            var p = new UpdateCSProjPostProcessor();

            p.Configure(new Properties(
                            "Entitas.CodeGeneration.Plugins.ProjectPath = " + TestExtensions.GetProjectRoot() + "/../Match-One/Assembly-CSharp.csproj" + "\n" +
                            "Entitas.CodeGeneration.Plugins.TargetDirectory = Assets/Sources"
                            ));

            var files = new [] {
                new CodeGenFile("My/Generated/Folder/File1.cs", "Hello, world!", "Test"),
                new CodeGenFile("My/Generated/Folder/File2.cs", "Hello, world!", "Test")
            };

            p.PostProcess(files);
        };
    }
Пример #29
0
    void when_resolving()
    {
        xcontext["when no dependencies"] = () => {
            string dllPath = null;
            Type[] types   = null;

            before = () => {
                dllPath = TestExtensions.GetProjectRoot() + "/Tests/Tests.Fixtures/TestDependenyBase/bin/Release/TestDependenyBase.dll";
                var resolver = new AssemblyResolver(AppDomain.CurrentDomain, new string[0]);
                resolver.Load(dllPath);
                types = resolver.GetTypes();
            };

            it["loads dll"] = () => {
                types.Length.should_be(1);
                types[0].FullName.should_be("TestDependenyBase.Point");
            };

            it["instantiates type"] = () => {
                Activator.CreateInstance(types[0]);
            };
        };

        xcontext["when dependencies"] = () => {
            string dllPath = null;
            Type[] types   = null;

            before = () => {
                dllPath = TestExtensions.GetProjectRoot() + "/Tests/Tests.Fixtures/TestDependency/bin/Release/TestDependency.dll";
                var resolver = new AssemblyResolver(AppDomain.CurrentDomain, new string[0]);
                resolver.Load(dllPath);
                types = resolver.GetTypes();
            };

            it["loads dll with all dependencies"] = () => {
                types.Length.should_be(1);
                types[0].FullName.should_be("TestDependency.PositionComponent");
            };

            it["instantiates type"] = () => {
                Activator.CreateInstance(types[0]);
            };
        };
    }
Пример #30
0
    void when_checking_namespaces()
    {
        var projectRoot = TestExtensions.GetProjectRoot();
        var sourceFiles = TestExtensions.GetSourceFiles(projectRoot);

        it["processes roughly the correct number of files"] = () => {
            sourceFiles.Count.should_be_greater_than(200);
            sourceFiles.Count.should_be_less_than(300);
        };

        System.Console.WriteLine("sourceFiles: " + sourceFiles.Count);

        const string namespacePattern         = @"(?:^namespace)\s.*\b";
        string       expectedNamespacePattern = string.Format(@"[^\{0}]*", Path.DirectorySeparatorChar);

        var addonsDir = dir("Addons");

        var each = new Each <string, string, string>();

        foreach (var file in sourceFiles)
        {
            var fileName = file.Key
                           .Replace(dir(projectRoot), string.Empty)
                           .Replace(addonsDir, string.Empty);


            string expectedNamespace;
            expectedNamespace = Regex.Match(fileName, expectedNamespacePattern)
                                .ToString()
                                .Replace("namespace ", string.Empty)
                                .Trim();

            var foundNamespace = Regex.Match(file.Value, namespacePattern, RegexOptions.Multiline)
                                 .ToString()
                                 .Replace("namespace ", string.Empty)
                                 .Trim();

            each.Add(new NSpecTuple <string, string, string>(fileName, foundNamespace, expectedNamespace));
        }

        each.Do((fileName, given, expected) =>
                it["{0} namespace should be {2}".With(fileName, given, expected)] = () => given.should_be(expected)
                );
    }