예제 #1
0
        public async Task GivenValidCreateTradeItem_ReturnsSuccessStatusCode()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var command = new CreateTradeItemCommand
            {
                Account      = "Account",
                Book         = "Book",
                DealName     = "DealName",
                DealType     = "DealType",
                Security     = "Security",
                Side         = "Side",
                SourceListId = "SourceListId",
                Status       = "Status",
                Trader       = "Trader",
                Type         = "Type",
                Benchmark    = "Benchmark",
                BuyPrice     = 1,
                BuyQuantity  = 2,
                SellPrice    = 3,
                SellQuantity = 4,
                TradeDate    = new DateTime(2020, 01, 10)
            };

            var content = IntegrationTestHelper.GetRequestContent(command);

            var response = await client.PostAsync("/api/trade", content);

            response.EnsureSuccessStatusCode();
        }
        public async Task GivenInvalidType_ReturnsBadRequest()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var command = new CreateConversationCommand
            {
                Type    = "invalid",
                Members = new List <UserModel>
                {
                    new UserModel()
                    {
                        UserId      = Guid.NewGuid(),
                        DisplayName = "TestUser1"
                    },
                    new UserModel()
                    {
                        UserId      = Guid.NewGuid(),
                        DisplayName = "TestUser1"
                    }
                }
            };

            var content = IntegrationTestHelper.GetRequestContent(command);

            var response = await client.PostAsync($"/api/conversation", content);

            response.StatusCode.ShouldBe(HttpStatusCode.BadRequest);
        }
예제 #3
0
        public async Task GivenValidRequest_ShouldCreateNotification()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            // init DB for test
            var context     = _factory.InitializeDbForTests();
            var validUserId = new Guid("66EDB7C7-11BF-40A5-94AB-75A3364FEF60");
            var command     = new CreateNotificationCommand()
            {
                MessageContent = "message 2 @USER2",
                ConversationId = Guid.NewGuid().ToString(),
                MessageId      = Guid.NewGuid().ToString(),
                RegUserName    = "******",
                isRead         = false,
                ToUser         = new List <UserModel>()
                {
                    new UserModel {
                        UserId = new Guid("66edb7c7-11bf-40a5-94ab-75a3364fef60"), DisplayName = "USER2"
                    }
                },
                Type = "Mention"
            };
            var content = IntegrationTestHelper.GetRequestContent(command);

            var response = await client.PostAsync($"/api/Notifications/", content);

            response.EnsureSuccessStatusCode();

            // release DB
            _factory.DisposeDbForTests(context);
        }
        public async Task GivenAuthorizedUserHasUserRole_ReturnForbiddenStatusCode()
        {
            var client = await _factory.GetAuthenticatedClientAsync("User");

            var command = new UpdatePetCommand
            {
                Name         = "Wau",
                Age          = 5,
                Gender       = Domain.Enums.Gender.Male,
                Weight       = 0.2,
                Height       = 0.3,
                IsSterilized = true,
                Description  = "Something about",
                PhotoCode    = "",
                CategoryId   = 1,
                UserId       = 3
            };

            var content = ClientUtilities.GetRequestContent(command);

            var validPetId = 1;

            var response = await client.PutAsync($"/api/pets/{validPetId}", content);

            Assert.Equal(HttpStatusCode.Forbidden, response.StatusCode);
        }
예제 #5
0
        public async Task GivenValidRequest_ReturnOkAndUpdatedTaskItem()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            // init DB for test
            var context = _factory.InitializeDbForTests();

            var taskId = new Guid("de14a885-71d4-4da0-bb17-048d74d33ada");
            PinTaskItemCommand command = new PinTaskItemCommand()
            {
                Id    = taskId,
                IsPin = true
            };

            var content = IntegrationTestHelper.GetRequestContent(command);

            var response = await client.PutAsync($"/api/TaskItems/Pin/{taskId}", content);

            response.EnsureSuccessStatusCode();

            var vm = await IntegrationTestHelper.GetResponseContent <TaskItemModel>(response);

            vm.ShouldBeOfType <TaskItemModel>();
            // release DB
            _factory.DisposeDbForTests(context);
        }
예제 #6
0
        public async Task GivenValidCreateTaskItemCommand_ReturnsSuccessCode()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var command = new CreateTaskItemCommand
            {
                Name        = "Task ATask ATask A",
                Description = "Task ATask ATask A",
                Assignee    = new UserModel
                {
                    UserId      = userId,
                    DisplayName = "Test user"
                },
                Status    = 1,
                CreatedBy = new UserModel
                {
                    UserId      = userId,
                    DisplayName = "Test user"
                },
                AttachFiles = new List <AttachFileModel>()
                {
                },
                TeamId = new Guid("197d0438-e04b-453d-b5de-eca05960c6ae")
            };
            var content  = IntegrationTestHelper.GetRequestContent(command);
            var response = await client.PostAsync($"/api/TaskItems", content);

            response.EnsureSuccessStatusCode();
        }
        public async Task GivenValidRequest_SendMessage()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            // init DB for test
            var context = _factory.InitializeDbForTests();

            var        receiverUserId = Guid.Parse("9c7ff9c5-90bd-4207-9dff-01da2ceece21");
            MessageDto newMessage     = new MessageDto()
            {
                AttachFiles    = null,
                ConversationId = new Guid("b73477a4-f61d-46fa-873c-7d71c01dfbd2"),
                Date           = DateTime.UtcNow,
                IsPin          = false,
                Message        = "ABC123456",
                Type           = "received"
            };

            var content = IntegrationTestHelper.GetRequestContent(newMessage);

            var response = await client.PostAsync($"/api/MessagesSmartphone/SendMessageToUser/{receiverUserId}", content);

            response.EnsureSuccessStatusCode();

            // release DB
            _factory.DisposeDbForTests(context);
        }
예제 #8
0
        public async Task GivenValidUpdateBidItemCommand_ReturnsSuccessStatusCode()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var command = new UpdateBidItemCommand
            {
                BidListId    = 1,
                Account      = "Account",
                Ask          = 1,
                AskQuantity  = 2,
                Benchmark    = "Benchmark",
                Bid          = 3,
                BidListDate  = new DateTime(2020, 01, 09),
                BidQuantity  = 4,
                Book         = "Book",
                Commentary   = "Commentary",
                DealName     = "DealName",
                DealType     = "DealType",
                Security     = "Security",
                Side         = "Side",
                SourceListId = "SourceListId",
                Status       = "Status",
                Trader       = "Trader",
                Type         = "Type"
            };

            var content = IntegrationTestHelper.GetRequestContent(command);

            var response = await client.PutAsync($"/api/bid/{command.BidListId}", content);

            response.EnsureSuccessStatusCode();
        }
예제 #9
0
        public async Task GivenInvalidTeamId_ReturnsBadRequest()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var command = new CreateChannelConversationCommand
            {
                Members = new List <UserModel>
                {
                    new UserModel()
                    {
                        UserId      = Guid.NewGuid(),
                        DisplayName = "TestUser1"
                    },
                    new UserModel()
                    {
                        UserId      = Guid.NewGuid(),
                        DisplayName = "TestUser1"
                    }
                },
                IsPublic = true,
                Name     = "test",
                TeamId   = Guid.NewGuid().ToString()
            };

            var content = IntegrationTestHelper.GetRequestContent(command);

            var response = await client.PostAsync($"/api/conversation/CreateChannel", content);

            response.StatusCode.ShouldBe(HttpStatusCode.BadRequest);
        }
예제 #10
0
        public async Task GivenUserIsNotAdmin_ReturnForbiddenStatusCode()
        {
            var client = await _factory.GetAuthenticatedClientAsync("User");

            var response = await client.GetAsync("/api/comments");

            Assert.Equal(HttpStatusCode.Forbidden, response.StatusCode);
        }
예제 #11
0
        public async Task GivenValidCurveId_ReturnsSuccessStatusCode()
        {
            var validId = 1;

            var client = await _factory.GetAuthenticatedClientAsync();

            var response = await client.GetAsync($"/api/curvepoint/{validId}");

            response.EnsureSuccessStatusCode();
        }
예제 #12
0
        public async Task GivenValidId_ReturnsSuccessStatusCode()
        {
            var validId = await new Create(_factory).GivenValidCreatePaymentCommand_ReturnsSuccessCode();

            var client = await _factory.GetAuthenticatedClientAsync();

            var response = await client.DeleteAsync($"{_paymentBaseUri}/{validId}");

            response.EnsureSuccessStatusCode();
        }
예제 #13
0
        public async Task GivenId_ReturnsSuccessStatusCode()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var validId = "ALFKI";

            var response = await client.DeleteAsync($"/api/customers/delete/{validId}");

            response.EnsureSuccessStatusCode();
        }
예제 #14
0
        public async Task GivenInvalidConversationId_ReturnsNotFound()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var invalidConversationId = Guid.NewGuid();

            var response = await client.DeleteAsync($"/api/Conversation/{invalidConversationId.ToString()}");

            response.StatusCode.ShouldBe(HttpStatusCode.NotFound);
        }
        public async Task GivenAuthorizedUserHasUserRole_ReturnForbiddenStatusCode()
        {
            var client = await _factory.GetAuthenticatedClientAsync("User");

            var validPetId = 1;

            var response = await client.DeleteAsync($"/api/pets/{validPetId}");

            Assert.Equal(HttpStatusCode.Forbidden, response.StatusCode);
        }
예제 #16
0
        public async Task GivenNotAdminUser_ReturnsForbiddenStatusCode()
        {
            var client = await _factory.GetAuthenticatedClientAsync("User");

            var validId = 1;

            var response = await client.DeleteAsync($"/api/users/{validId}");

            Assert.Equal(HttpStatusCode.Forbidden, response.StatusCode);
        }
예제 #17
0
        public async Task GivenValidRequest_ShouldDeletePlanner()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var validId = new Guid("CBB85A08-ED54-4924-9135-E1F723A2BA6B");

            var response = await client.DeleteAsync($"/api/Planner/{validId}");

            response.EnsureSuccessStatusCode();
        }
예제 #18
0
        public async Task GivenValidId_ReturnsSuccessStatusCode()
        {
            var validId = new Guid("197d0438-e04b-453d-b5de-eca05960c6ae");

            var client = await _factory.GetAuthenticatedClientAsync();

            var response = await client.DeleteAsync($"/api/team/{validId}");

            response.EnsureSuccessStatusCode();
        }
예제 #19
0
        //[Fact]
        public async Task GivenValidId_ReturnsSuccessStatusCode()
        {
            var validId = 1;

            var client = await _factory.GetAuthenticatedClientAsync();

            var response = await client.DeleteAsync($"/api/todoitems/{validId}");

            response.EnsureSuccessStatusCode();
        }
예제 #20
0
        public async Task GivenInvalidCommentId_ReturnNotFoundStatusCode()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var invalidId = 10;

            var response = await client.DeleteAsync($"/api/comments/{invalidId}");

            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
        }
예제 #21
0
        public async Task GivenInValidTeamId_ReturnsNotFound()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var keyword   = "T";
            var invalidId = Guid.NewGuid().ToString();

            var response = await client.GetAsync($"/api/Search/userInTeam/{invalidId}/?keyword={keyword}");

            response.StatusCode.ShouldBe(HttpStatusCode.NotFound);
        }
        public async Task GivenUserWhichIsNotAuthorizedUserIdAndPetId_ReturnUnauthrorizedStatusCode()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var validUserId = 2;
            var validPetId  = 1;

            var response = await client.DeleteAsync($"/api/users/{validUserId}/pets/{validPetId}/likes");

            Assert.Equal(HttpStatusCode.Unauthorized, response.StatusCode);
        }
예제 #23
0
        public async Task GivenInvalidConversationId_ReturnsBadrequest()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var invalidConversationId = Guid.NewGuid();

            var content = IntegrationTestHelper.GetRequestContent("");

            var response = await client.PostAsync($"/api/Conversation/Read/{invalidConversationId.ToString()}", content);

            response.StatusCode.ShouldBe(HttpStatusCode.NotFound);
        }
예제 #24
0
        public async Task GivenInvalidUserId_ReturnEmptyList()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var invalidUserId = 10;

            var response = await client.GetAsync($"/api/users/{invalidUserId}/likes");

            var result = await ClientUtilities.GetResponseContent <List <GetAllLikedPetsByUserIdQueryResponse> >(response);

            Assert.IsType <List <GetAllLikedPetsByUserIdQueryResponse> >(result);
            Assert.Empty(result);
        }
예제 #25
0
        public async Task GivenId_ReturnsProductViewModel()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var id = 1;

            var response = await client.GetAsync($"/api/products/get/{id}");

            response.EnsureSuccessStatusCode();

            var product = await Utilities.GetResponseContent <ProductViewModel>(response);

            Assert.Equal(id, product.ProductId);
        }
        public async Task GivenValidTeamId_ReturnsPlannersList()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var validId = new Guid("197d0438-e04b-453d-b5de-eca05960c6ae");

            var response = await client.GetAsync($"/api/Planner/GetAll/{validId}");

            response.EnsureSuccessStatusCode();

            var vm = await IntegrationTestHelper.GetResponseContent <IEnumerable <PlannerModel> >(response);

            vm.Count().ShouldBe(2);
        }
예제 #27
0
        public async Task GivenId_ReturnsCustomerViewModel()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var id = "ALFKI";

            var response = await client.GetAsync($"/api/customers/get/{id}");

            response.EnsureSuccessStatusCode();

            var customer = await Utilities.GetResponseContent <CustomerDetailModel>(response);

            Assert.Equal(id, customer.Id);
        }
예제 #28
0
        public async Task GivenValidCreateTodoItemCommand_ReturnsSuccessCode()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var command = new CreateTodoItemCommand
            {
                Title = "Do yet another thing."
            };

            var content = IntegrationTestHelper.GetRequestContent(command);

            var response = await client.PostAsync($"/api/todoitems", content);

            response.EnsureSuccessStatusCode();
        }
예제 #29
0
        public async Task GivenValidTeamId_ReturnsTaskItemsListVm()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var validId = new Guid("197d0438-e04b-453d-b5de-eca05960c6ae");

            var response = await client.GetAsync($"/api/TaskItems/GetAll/{validId}");

            response.EnsureSuccessStatusCode();

            var vm = await IntegrationTestHelper.GetResponseContent <List <TaskItemModel> >(response);

            vm.ShouldBeOfType <List <TaskItemModel> >();
            vm.Count.ShouldBe(2);
        }
예제 #30
0
        public async Task GivenValidId_ReturnsPaymentVm()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var validId = await new Create(_factory).GivenValidCreatePaymentCommand_ReturnsSuccessCode();

            var response = await client.GetAsync($"{_paymentBaseUri}/{validId}");

            response.EnsureSuccessStatusCode();

            var vm = await IntegrationTestHelper.GetResponseContent <PaymentVm>(response);

            vm.Should().BeOfType <PaymentVm>();
            vm.Id.Should().Be(Convert.ToInt64(validId));
        }