refactor(cafes): remove notes field from Cafe entity

- Add migration 0014 to drop the notes column from cafes table
- Remove notes from domain structs, repository, view model, CLI, routes
- Remove notes textarea/column from web templates
- Update bootstrap script and all test files
This commit is contained in:
Jon Seager 2026-02-03 21:02:37 +00:00
parent ca4d382086
commit fb31d0a0c4
No known key found for this signature in database
16 changed files with 19 additions and 76 deletions

View file

@ -0,0 +1 @@
ALTER TABLE cafes DROP COLUMN notes;

View file

@ -426,8 +426,7 @@ fi
--country "United Kingdom" \ --country "United Kingdom" \
--latitude 51.5055 \ --latitude 51.5055 \
--longitude -0.0910 \ --longitude -0.0910 \
--website "https://www.monmouthcoffee.co.uk" \ --website "https://www.monmouthcoffee.co.uk"
--notes "Iconic Borough Market cafe; queues around the block for a reason."
# London - Prufrock Coffee # London - Prufrock Coffee
./target/debug/brewlog cafe add \ ./target/debug/brewlog cafe add \
@ -436,8 +435,7 @@ fi
--country "United Kingdom" \ --country "United Kingdom" \
--latitude 51.5246 \ --latitude 51.5246 \
--longitude -0.1098 \ --longitude -0.1098 \
--website "https://www.prufrockcoffee.com" \ --website "https://www.prufrockcoffee.com"
--notes "Award-winning Leather Lane cafe with stellar barista training programme."
# Madrid - Hola Coffee # Madrid - Hola Coffee
./target/debug/brewlog cafe add \ ./target/debug/brewlog cafe add \
@ -446,8 +444,7 @@ fi
--country "Spain" \ --country "Spain" \
--latitude 40.4285 \ --latitude 40.4285 \
--longitude -3.7025 \ --longitude -3.7025 \
--website "https://www.holacoffee.es" \ --website "https://www.holacoffee.es"
--notes "Pioneering specialty coffee in the Malasaña neighbourhood."
# Madrid - Toma Café # Madrid - Toma Café
./target/debug/brewlog cafe add \ ./target/debug/brewlog cafe add \
@ -455,8 +452,7 @@ fi
--city "Madrid" \ --city "Madrid" \
--country "Spain" \ --country "Spain" \
--latitude 40.4260 \ --latitude 40.4260 \
--longitude -3.7075 \ --longitude -3.7075
--notes "Relaxed Malasaña spot known for excellent filter and warm atmosphere."
# Berlin - The Barn # Berlin - The Barn
./target/debug/brewlog cafe add \ ./target/debug/brewlog cafe add \
@ -465,8 +461,7 @@ fi
--country "Germany" \ --country "Germany" \
--latitude 52.5298 \ --latitude 52.5298 \
--longitude 13.4020 \ --longitude 13.4020 \
--website "https://thebarn.de" \ --website "https://thebarn.de"
--notes "Light-roast pioneer in Prenzlauer Berg; their own roastery supplies the cafe."
# Berlin - Companion Coffee # Berlin - Companion Coffee
./target/debug/brewlog cafe add \ ./target/debug/brewlog cafe add \
@ -475,8 +470,7 @@ fi
--country "Germany" \ --country "Germany" \
--latitude 52.4952 \ --latitude 52.4952 \
--longitude 13.4188 \ --longitude 13.4188 \
--website "https://www.companion.coffee" \ --website "https://www.companion.coffee"
--notes "Minimalist Neukölln cafe with a curated rotating menu of guest roasters."
# Munich - Man Versus Machine # Munich - Man Versus Machine
./target/debug/brewlog cafe add \ ./target/debug/brewlog cafe add \
@ -485,8 +479,7 @@ fi
--country "Germany" \ --country "Germany" \
--latitude 48.1310 \ --latitude 48.1310 \
--longitude 11.5690 \ --longitude 11.5690 \
--website "https://www.mvsmcoffee.de" \ --website "https://www.mvsmcoffee.de"
--notes "Munich's specialty flagship; roasts in-house and competes internationally."
# Munich - Vits der Kaffee # Munich - Vits der Kaffee
./target/debug/brewlog cafe add \ ./target/debug/brewlog cafe add \
@ -495,8 +488,7 @@ fi
--country "Germany" \ --country "Germany" \
--latitude 48.1353 \ --latitude 48.1353 \
--longitude 11.5741 \ --longitude 11.5741 \
--website "https://www.vfrischekaffee.de" \ --website "https://www.vfrischekaffee.de"
--notes "Modern cafe near Viktualienmarkt with thoughtful sourcing and seasonal offerings."
# Bristol - Full Court Press # Bristol - Full Court Press
./target/debug/brewlog cafe add \ ./target/debug/brewlog cafe add \
@ -505,8 +497,7 @@ fi
--country "United Kingdom" \ --country "United Kingdom" \
--latitude 51.4543 \ --latitude 51.4543 \
--longitude -2.5930 \ --longitude -2.5930 \
--website "https://www.fullcourtpress.coffee" \ --website "https://www.fullcourtpress.coffee"
--notes "Bristol institution on Broad Street; brunch and specialty coffee done right."
# Bristol - Small Street Espresso # Bristol - Small Street Espresso
./target/debug/brewlog cafe add \ ./target/debug/brewlog cafe add \
@ -514,8 +505,7 @@ fi
--city "Bristol" \ --city "Bristol" \
--country "United Kingdom" \ --country "United Kingdom" \
--latitude 51.4540 \ --latitude 51.4540 \
--longitude -2.5955 \ --longitude -2.5955
--notes "Tiny takeaway bar with a cult following for its espresso and flat whites."
# ============================================================================ # ============================================================================
# Cups - 1 to 3 cups per cafe, pairing roasts with cafes visited # Cups - 1 to 3 cups per cafe, pairing roasts with cafes visited

View file

@ -156,8 +156,7 @@ pub(crate) async fn update_cafe(
|| payload.country.is_some() || payload.country.is_some()
|| payload.latitude.is_some() || payload.latitude.is_some()
|| payload.longitude.is_some() || payload.longitude.is_some()
|| payload.website.is_some() || payload.website.is_some();
|| payload.notes.is_some();
if !has_changes { if !has_changes {
return Err(AppError::validation("no changes provided").into()); return Err(AppError::validation("no changes provided").into());

View file

@ -14,7 +14,6 @@ pub struct Cafe {
pub latitude: f64, pub latitude: f64,
pub longitude: f64, pub longitude: f64,
pub website: Option<String>, pub website: Option<String>,
pub notes: Option<String>,
pub created_at: DateTime<Utc>, pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>, pub updated_at: DateTime<Utc>,
} }
@ -27,7 +26,6 @@ pub struct NewCafe {
pub latitude: f64, pub latitude: f64,
pub longitude: f64, pub longitude: f64,
pub website: Option<String>, pub website: Option<String>,
pub notes: Option<String>,
} }
impl NewCafe { impl NewCafe {
@ -36,7 +34,6 @@ impl NewCafe {
self.city = self.city.trim().to_string(); self.city = self.city.trim().to_string();
self.country = self.country.trim().to_string(); self.country = self.country.trim().to_string();
self.website = normalize_optional_field(self.website); self.website = normalize_optional_field(self.website);
self.notes = normalize_optional_field(self.notes);
self self
} }
@ -64,7 +61,6 @@ pub struct UpdateCafe {
pub latitude: Option<f64>, pub latitude: Option<f64>,
pub longitude: Option<f64>, pub longitude: Option<f64>,
pub website: Option<String>, pub website: Option<String>,
pub notes: Option<String>,
} }
#[derive(Debug, Clone, Copy, Eq, PartialEq)] #[derive(Debug, Clone, Copy, Eq, PartialEq)]

View file

@ -151,7 +151,7 @@ impl BackupService {
async fn export_cafes(&self) -> anyhow::Result<Vec<Cafe>> { async fn export_cafes(&self) -> anyhow::Result<Vec<Cafe>> {
let records = sqlx::query_as::<_, CafeRecord>( let records = sqlx::query_as::<_, CafeRecord>(
"SELECT id, name, slug, city, country, latitude, longitude, website, notes, created_at, updated_at FROM cafes ORDER BY id", "SELECT id, name, slug, city, country, latitude, longitude, website, created_at, updated_at FROM cafes ORDER BY id",
) )
.fetch_all(&self.pool) .fetch_all(&self.pool)
.await .await
@ -350,7 +350,7 @@ impl BackupService {
) -> anyhow::Result<()> { ) -> anyhow::Result<()> {
for cafe in cafes { for cafe in cafes {
sqlx::query( sqlx::query(
"INSERT INTO cafes (id, name, slug, city, country, latitude, longitude, website, notes, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", "INSERT INTO cafes (id, name, slug, city, country, latitude, longitude, website, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
) )
.bind(i64::from(cafe.id)) .bind(i64::from(cafe.id))
.bind(&cafe.name) .bind(&cafe.name)
@ -360,7 +360,6 @@ impl BackupService {
.bind(cafe.latitude) .bind(cafe.latitude)
.bind(cafe.longitude) .bind(cafe.longitude)
.bind(cafe.website.as_deref()) .bind(cafe.website.as_deref())
.bind(cafe.notes.as_deref())
.bind(cafe.created_at) .bind(cafe.created_at)
.bind(cafe.updated_at) .bind(cafe.updated_at)
.execute(&mut **tx) .execute(&mut **tx)
@ -577,7 +576,6 @@ struct CafeRecord {
latitude: f64, latitude: f64,
longitude: f64, longitude: f64,
website: Option<String>, website: Option<String>,
notes: Option<String>,
created_at: DateTime<Utc>, created_at: DateTime<Utc>,
updated_at: DateTime<Utc>, updated_at: DateTime<Utc>,
} }
@ -593,7 +591,6 @@ impl CafeRecord {
latitude: self.latitude, latitude: self.latitude,
longitude: self.longitude, longitude: self.longitude,
website: self.website, website: self.website,
notes: self.notes,
created_at: self.created_at, created_at: self.created_at,
updated_at: self.updated_at, updated_at: self.updated_at,
} }

View file

@ -45,7 +45,6 @@ impl SqlCafeRepository {
latitude, latitude,
longitude, longitude,
website, website,
notes,
created_at, created_at,
updated_at, updated_at,
} = record; } = record;
@ -59,7 +58,6 @@ impl SqlCafeRepository {
latitude, latitude,
longitude, longitude,
website, website,
notes,
created_at, created_at,
updated_at, updated_at,
} }
@ -115,8 +113,8 @@ impl CafeRepository for SqlCafeRepository {
let now = Utc::now(); let now = Utc::now();
let record = query_as::<_, CafeRecord>( let record = query_as::<_, CafeRecord>(
"INSERT INTO cafes (name, slug, city, country, latitude, longitude, website, notes, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\ "INSERT INTO cafes (name, slug, city, country, latitude, longitude, website, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)\
RETURNING id, name, slug, city, country, latitude, longitude, website, notes, created_at, updated_at", RETURNING id, name, slug, city, country, latitude, longitude, website, created_at, updated_at",
) )
.bind(&new_cafe.name) .bind(&new_cafe.name)
.bind(&slug) .bind(&slug)
@ -125,7 +123,6 @@ impl CafeRepository for SqlCafeRepository {
.bind(new_cafe.latitude) .bind(new_cafe.latitude)
.bind(new_cafe.longitude) .bind(new_cafe.longitude)
.bind(new_cafe.website.as_deref()) .bind(new_cafe.website.as_deref())
.bind(new_cafe.notes.as_deref())
.bind(now) .bind(now)
.bind(now) .bind(now)
.fetch_one(&mut *tx) .fetch_one(&mut *tx)
@ -170,7 +167,7 @@ impl CafeRepository for SqlCafeRepository {
async fn get(&self, id: CafeId) -> Result<Cafe, RepositoryError> { async fn get(&self, id: CafeId) -> Result<Cafe, RepositoryError> {
let record = query_as::<_, CafeRecord>( let record = query_as::<_, CafeRecord>(
"SELECT id, name, slug, city, country, latitude, longitude, website, notes, created_at, updated_at FROM cafes WHERE id = ?", "SELECT id, name, slug, city, country, latitude, longitude, website, created_at, updated_at FROM cafes WHERE id = ?",
) )
.bind(i64::from(id)) .bind(i64::from(id))
.fetch_optional(&self.pool) .fetch_optional(&self.pool)
@ -185,7 +182,7 @@ impl CafeRepository for SqlCafeRepository {
async fn get_by_slug(&self, slug: &str) -> Result<Cafe, RepositoryError> { async fn get_by_slug(&self, slug: &str) -> Result<Cafe, RepositoryError> {
let record = query_as::<_, CafeRecord>( let record = query_as::<_, CafeRecord>(
"SELECT id, name, slug, city, country, latitude, longitude, website, notes, created_at, updated_at FROM cafes WHERE slug = ?", "SELECT id, name, slug, city, country, latitude, longitude, website, created_at, updated_at FROM cafes WHERE slug = ?",
) )
.bind(slug) .bind(slug)
.fetch_optional(&self.pool) .fetch_optional(&self.pool)
@ -206,7 +203,7 @@ impl CafeRepository for SqlCafeRepository {
use crate::infrastructure::repositories::pagination::SearchFilter; use crate::infrastructure::repositories::pagination::SearchFilter;
let order_clause = Self::order_clause(request); let order_clause = Self::order_clause(request);
let base_query = "SELECT id, name, slug, city, country, latitude, longitude, website, notes, created_at, updated_at FROM cafes"; let base_query = "SELECT id, name, slug, city, country, latitude, longitude, website, created_at, updated_at FROM cafes";
let count_query = "SELECT COUNT(*) FROM cafes"; let count_query = "SELECT COUNT(*) FROM cafes";
let sf = search.and_then(|t| SearchFilter::new(t, vec!["name", "city", "country"])); let sf = search.and_then(|t| SearchFilter::new(t, vec!["name", "city", "country"]));
@ -232,7 +229,6 @@ impl CafeRepository for SqlCafeRepository {
push_update_field!(builder, sep, "latitude", changes.latitude); push_update_field!(builder, sep, "latitude", changes.latitude);
push_update_field!(builder, sep, "longitude", changes.longitude); push_update_field!(builder, sep, "longitude", changes.longitude);
push_update_field!(builder, sep, "website", changes.website); push_update_field!(builder, sep, "website", changes.website);
push_update_field!(builder, sep, "notes", changes.notes);
let _ = sep; let _ = sep;
builder.push(" WHERE id = "); builder.push(" WHERE id = ");
@ -276,7 +272,6 @@ struct CafeRecord {
latitude: f64, latitude: f64,
longitude: f64, longitude: f64,
website: Option<String>, website: Option<String>,
notes: Option<String>,
created_at: DateTime<Utc>, created_at: DateTime<Utc>,
updated_at: DateTime<Utc>, updated_at: DateTime<Utc>,
} }

View file

@ -45,8 +45,6 @@ pub struct AddCafeCommand {
pub longitude: f64, pub longitude: f64,
#[arg(long)] #[arg(long)]
pub website: Option<String>, pub website: Option<String>,
#[arg(long)]
pub notes: Option<String>,
} }
pub async fn add_cafe(client: &BrewlogClient, command: AddCafeCommand) -> Result<()> { pub async fn add_cafe(client: &BrewlogClient, command: AddCafeCommand) -> Result<()> {
@ -57,7 +55,6 @@ pub async fn add_cafe(client: &BrewlogClient, command: AddCafeCommand) -> Result
latitude: command.latitude, latitude: command.latitude,
longitude: command.longitude, longitude: command.longitude,
website: command.website, website: command.website,
notes: command.notes,
}; };
let cafe = client.cafes().create(&payload).await?; let cafe = client.cafes().create(&payload).await?;
@ -87,8 +84,6 @@ pub struct UpdateCafeCommand {
pub longitude: Option<f64>, pub longitude: Option<f64>,
#[arg(long)] #[arg(long)]
pub website: Option<String>, pub website: Option<String>,
#[arg(long)]
pub notes: Option<String>,
} }
pub async fn update_cafe(client: &BrewlogClient, command: UpdateCafeCommand) -> Result<()> { pub async fn update_cafe(client: &BrewlogClient, command: UpdateCafeCommand) -> Result<()> {
@ -99,7 +94,6 @@ pub async fn update_cafe(client: &BrewlogClient, command: UpdateCafeCommand) ->
latitude: command.latitude, latitude: command.latitude,
longitude: command.longitude, longitude: command.longitude,
website: command.website, website: command.website,
notes: command.notes,
}; };
let cafe = client let cafe = client

View file

@ -12,7 +12,6 @@ pub struct CafeView {
pub has_website: bool, pub has_website: bool,
pub website_url: String, pub website_url: String,
pub website_label: String, pub website_label: String,
pub notes: String,
pub created_at: String, pub created_at: String,
pub created_at_sort_key: i64, pub created_at_sort_key: i64,
} }
@ -28,7 +27,6 @@ impl From<Cafe> for CafeView {
latitude, latitude,
longitude, longitude,
website, website,
notes,
created_at, created_at,
updated_at: _, updated_at: _,
} = cafe; } = cafe;
@ -53,7 +51,6 @@ impl From<Cafe> for CafeView {
has_website, has_website,
website_url: website.clone(), website_url: website.clone(),
website_label: website, website_label: website,
notes: notes.unwrap_or_else(|| "This cafe has no notes yet.".to_string()),
created_at: created_at_label, created_at: created_at_label,
created_at_sort_key, created_at_sort_key,
} }

View file

@ -68,6 +68,5 @@ block content %}
<dd class="text-right">{{ cafe.created_at }}</dd> <dd class="text-right">{{ cafe.created_at }}</dd>
</div> </div>
</dl> </dl>
<p class="text-sm text-stone-600">{{ cafe.notes }}</p>
</section> </section>
{% endblock %} {% endblock %}

View file

@ -312,15 +312,6 @@
placeholder="-122.4194" placeholder="-122.4194"
/> />
</label> </label>
<label class="sm:col-span-2 flex flex-col gap-1 text-sm">
<span class="text-stone-700">Notes</span>
<textarea
name="notes"
rows="3"
class="input-field"
placeholder="Atmosphere, speciality drinks, opening hours..."
></textarea>
</label>
</div> </div>
<div class="flex items-center justify-end gap-2"> <div class="flex items-center justify-end gap-2">
<button <button

View file

@ -21,7 +21,6 @@
{% call table::sortable_header("Added", "created-at", navigator, "#cafe-list") %} {% call table::sortable_header("Added", "created-at", navigator, "#cafe-list") %}
{% call table::sortable_header("Name", "name", navigator, "#cafe-list") %} {% call table::sortable_header("Name", "name", navigator, "#cafe-list") %}
{% call table::sortable_header("Location", "country", navigator, "#cafe-list") %} {% call table::sortable_header("Location", "country", navigator, "#cafe-list") %}
<th scope="col" class="mobile-hidden px-4 py-3">Notes</th>
<th scope="col" class="px-4 py-3 text-right">Actions</th> <th scope="col" class="px-4 py-3 text-right">Actions</th>
</tr> </tr>
</thead> </thead>
@ -50,7 +49,6 @@
<div class="hidden md:block text-xs text-stone-500">{{ cafe.city }}</div> <div class="hidden md:block text-xs text-stone-500">{{ cafe.city }}</div>
</td> </td>
<td data-label="City" class="px-4 py-3 whitespace-nowrap md:hidden">{{ cafe.city }}</td> <td data-label="City" class="px-4 py-3 whitespace-nowrap md:hidden">{{ cafe.city }}</td>
<td data-label="Notes" class="mobile-hidden px-4 py-3 text-sm text-stone-600">{{ cafe.notes }}</td>
<td data-label="" class="px-4 py-3 text-right"> <td data-label="" class="px-4 py-3 text-right">
<div class="inline-flex items-center gap-1"> <div class="inline-flex items-center gap-1">
<a <a

View file

@ -226,7 +226,6 @@ async fn populate_test_data(db: &TestDb) -> (Roaster, Roast, Bag, Gear, Gear, Ge
latitude: 51.5246, latitude: 51.5246,
longitude: -0.1098, longitude: -0.1098,
website: Some("https://prufrockcoffee.com".to_string()), website: Some("https://prufrockcoffee.com".to_string()),
notes: Some("Award-winning espresso bar".to_string()),
}) })
.await .await
.expect("failed to create cafe"); .expect("failed to create cafe");
@ -378,7 +377,6 @@ async fn backup_and_restore_round_trip() {
assert_eq!(restored_cafe.latitude, cafe.latitude); assert_eq!(restored_cafe.latitude, cafe.latitude);
assert_eq!(restored_cafe.longitude, cafe.longitude); assert_eq!(restored_cafe.longitude, cafe.longitude);
assert_eq!(restored_cafe.website, cafe.website); assert_eq!(restored_cafe.website, cafe.website);
assert_eq!(restored_cafe.notes, cafe.notes);
// Timeline events // Timeline events
let target_timeline = list_all_timeline_events(target.timeline_repo.as_ref()).await; let target_timeline = list_all_timeline_events(target.timeline_repo.as_ref()).await;

View file

@ -13,7 +13,6 @@ async fn creating_a_cafe_returns_a_201_for_valid_data() {
latitude: 37.7749, latitude: 37.7749,
longitude: -122.4194, longitude: -122.4194,
website: Some("https://bluebottlecoffee.com".to_string()), website: Some("https://bluebottlecoffee.com".to_string()),
notes: Some("Great pour-over".to_string()),
}; };
let response = client let response = client
@ -36,7 +35,6 @@ async fn creating_a_cafe_returns_a_201_for_valid_data() {
cafe.website, cafe.website,
Some("https://bluebottlecoffee.com".to_string()) Some("https://bluebottlecoffee.com".to_string())
); );
assert_eq!(cafe.notes, Some("Great pour-over".to_string()));
} }
#[tokio::test] #[tokio::test]
@ -51,7 +49,6 @@ async fn creating_a_cafe_persists_the_data() {
latitude: 48.8566, latitude: 48.8566,
longitude: 2.3522, longitude: 2.3522,
website: None, website: None,
notes: None,
}; };
let response = client let response = client
@ -87,7 +84,6 @@ async fn creating_a_cafe_requires_authentication() {
latitude: 51.5074, latitude: 51.5074,
longitude: -0.1278, longitude: -0.1278,
website: None, website: None,
notes: None,
}; };
let response = client let response = client
@ -163,7 +159,6 @@ async fn listing_cafes_returns_a_200_with_multiple_cafes() {
latitude: 51.5074, latitude: 51.5074,
longitude: -0.1278, longitude: -0.1278,
website: None, website: None,
notes: None,
}; };
let cafe2 = NewCafe { let cafe2 = NewCafe {
@ -173,7 +168,6 @@ async fn listing_cafes_returns_a_200_with_multiple_cafes() {
latitude: 52.52, latitude: 52.52,
longitude: 13.405, longitude: 13.405,
website: None, website: None,
notes: None,
}; };
client client
@ -250,7 +244,6 @@ async fn updating_a_cafe_returns_a_200_for_valid_data() {
latitude: None, latitude: None,
longitude: None, longitude: None,
website: Some("https://updated.com".to_string()), website: Some("https://updated.com".to_string()),
notes: None,
}; };
let response = client let response = client
@ -282,7 +275,6 @@ async fn updating_a_cafe_with_no_changes_returns_a_400() {
latitude: None, latitude: None,
longitude: None, longitude: None,
website: None, website: None,
notes: None,
}; };
let response = client let response = client
@ -308,7 +300,6 @@ async fn updating_a_nonexistent_cafe_returns_a_404() {
latitude: None, latitude: None,
longitude: None, longitude: None,
website: None, website: None,
notes: None,
}; };
let response = client let response = client

View file

@ -814,7 +814,6 @@ async fn cafes_create_with_datastar_header_returns_fragment() {
latitude: 51.5074, latitude: 51.5074,
longitude: -0.1278, longitude: -0.1278,
website: None, website: None,
notes: None,
}; };
let response = client let response = client

View file

@ -445,7 +445,6 @@ pub async fn create_default_cafe(app: &TestApp) -> Cafe {
latitude: 37.7749, latitude: 37.7749,
longitude: -122.4194, longitude: -122.4194,
website: Some("https://bluebottlecoffee.com".to_string()), website: Some("https://bluebottlecoffee.com".to_string()),
notes: Some("Great pour-over".to_string()),
}, },
) )
.await .await

View file

@ -476,7 +476,6 @@ async fn creating_a_cafe_surfaces_on_the_timeline() {
latitude: 51.4545, latitude: 51.4545,
longitude: -2.5879, longitude: -2.5879,
website: Some("https://example.com".to_string()), website: Some("https://example.com".to_string()),
notes: None,
}, },
) )
.await; .await;