Exemplo n.º 1
0
        public async Task GetArchive_should_return_customers_archive()
        {
            var customerItem = new Core.Queries.Models.CustomerArchiveItem(
                Guid.NewGuid(),
                "test", "customer", null);
            await _fixture.QueryModelsSeeder.CreateCustomerArchiveItem(customerItem);

            var endpoint = $"customers/";
            var response = await _fixture.HttpClient.GetAsync(endpoint);

            response.Should().NotBeNull();
            response.IsSuccessStatusCode.Should().BeTrue();
            response.StatusCode.Should().Be(HttpStatusCode.OK);

            var result = await response.Content.ReadAsAsync <Core.Queries.Models.CustomerArchiveItem[]>();

            result.Should().NotBeNull();
            result.Length.Should().BeGreaterThan(0);

            var customer = result.FirstOrDefault(c => c.Id == customerItem.Id);

            customer.Should().NotBeNull();

            customer.Id.Should().Be(customerItem.Id);
            customer.Firstname.Should().Be(customerItem.Firstname);
            customer.Lastname.Should().Be(customerItem.Lastname);
            customer.Accounts.Should().NotBeNull().And.BeEmpty();
        }
        public async Task CreateCustomerArchiveItem(Core.Queries.Models.CustomerArchiveItem model)
        {
            if (model is null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            await _dbContext.Customers.InsertOneAsync(model);
        }