55use PHPUnit \Framework \TestCase ;
66use Upstash \Vector \Tests \Concerns \UsesDenseIndex ;
77use Upstash \Vector \Tests \Concerns \WaitsForIndex ;
8- use Upstash \Vector \VectorDelete ;
8+ use Upstash \Vector \VectorDeleteByMetadataFilter ;
9+ use Upstash \Vector \VectorDeleteByPrefix ;
910use Upstash \Vector \VectorQuery ;
1011use Upstash \Vector \VectorUpsert ;
1112
@@ -35,6 +36,22 @@ public function test_delete_vectors(): void
3536 $ this ->assertSame (1 , $ info ->vectorCount );
3637 }
3738
39+ public function test_delete_single_vector (): void
40+ {
41+ $ this ->namespace ->upsertMany ([
42+ new VectorUpsert ('id-1 ' , vector: createRandomVector (2 )),
43+ new VectorUpsert ('id-2 ' , vector: createRandomVector (2 )),
44+ new VectorUpsert ('id-3 ' , vector: createRandomVector (2 )),
45+ ]);
46+ $ this ->waitForIndex ($ this ->namespace );
47+
48+ $ result = $ this ->namespace ->delete ('id-1 ' );
49+
50+ $ this ->assertEquals (1 , $ result ->deleted );
51+ $ info = $ this ->namespace ->getNamespaceInfo ();
52+ $ this ->assertSame (2 , $ info ->vectorCount );
53+ }
54+
3855 public function test_delete_vectors_from_a_query_result_results (): void
3956 {
4057 $ vector = createRandomVector (2 );
@@ -55,21 +72,6 @@ public function test_delete_vectors_from_a_query_result_results(): void
5572 $ this ->assertEquals (2 , $ result ->deleted );
5673 }
5774
58- public function test_delete_vectors_using_builder_pattern (): void
59- {
60- $ this ->namespace ->upsertMany ([
61- new VectorUpsert ('users:1 ' , vector: createRandomVector (2 )),
62- new VectorUpsert ('users:2 ' , vector: createRandomVector (2 )),
63- new VectorUpsert ('posts:1 ' , vector: createRandomVector (2 )),
64- ]);
65- $ this ->waitForIndex ($ this ->namespace );
66-
67- $ result = $ this ->namespace ->delete (VectorDelete::fromIds (['users:1 ' , 'users:2 ' ]));
68-
69- $ this ->assertEquals (2 , $ result ->deleted );
70- $ this ->assertEquals (1 , $ this ->namespace ->getNamespaceInfo ()->vectorCount );
71- }
72-
7375 public function test_delete_vectors_using_an_id_prefix (): void
7476 {
7577 $ this ->namespace ->upsertMany ([
@@ -79,7 +81,9 @@ public function test_delete_vectors_using_an_id_prefix(): void
7981 ]);
8082 $ this ->waitForIndex ($ this ->namespace );
8183
82- $ result = $ this ->namespace ->delete (VectorDelete::fromPrefix ('users: ' ));
84+ $ result = $ this ->namespace ->delete (new VectorDeleteByPrefix (
85+ prefix: 'users: ' ,
86+ ));
8387
8488 $ this ->assertEquals (2 , $ result ->deleted );
8589 $ this ->assertEquals (1 , $ this ->namespace ->getNamespaceInfo ()->vectorCount );
@@ -112,7 +116,9 @@ public function test_delete_vectors_using_a_metadata_filter(): void
112116 ]);
113117 $ this ->waitForIndex ($ this ->namespace );
114118
115- $ result = $ this ->namespace ->delete (VectorDelete::fromMetadataFilter ('salary < 3000 ' ));
119+ $ result = $ this ->namespace ->delete (new VectorDeleteByMetadataFilter (
120+ filter: 'salary > 1000 ' ,
121+ ));
116122
117123 $ this ->assertEquals (2 , $ result ->deleted );
118124 $ this ->assertEquals (1 , $ this ->namespace ->getNamespaceInfo ()->vectorCount );
0 commit comments