40 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Elixir
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Elixir
		
	
	
	
	
	
# Pleroma: A lightweight social networking server
 | 
						|
# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
 | 
						|
# SPDX-License-Identifier: AGPL-3.0-only
 | 
						|
 | 
						|
defmodule Pleroma.Repo.Migrations.ConfirmLoggedInUsersTest do
 | 
						|
  alias Pleroma.Repo
 | 
						|
  alias Pleroma.User
 | 
						|
  use Pleroma.DataCase, async: true
 | 
						|
  import Ecto.Query
 | 
						|
  import Pleroma.Factory
 | 
						|
  import Pleroma.Tests.Helpers
 | 
						|
 | 
						|
  setup_all do: require_migration("20201231185546_confirm_logged_in_users")
 | 
						|
 | 
						|
  test "up/0 confirms unconfirmed but previously-logged-in users", %{migration: migration} do
 | 
						|
    insert_list(25, :oauth_token)
 | 
						|
    Repo.update_all(User, set: [is_confirmed: false])
 | 
						|
    insert_list(5, :user, is_confirmed: false)
 | 
						|
 | 
						|
    count =
 | 
						|
      User
 | 
						|
      |> where(is_confirmed: false)
 | 
						|
      |> Repo.aggregate(:count)
 | 
						|
 | 
						|
    assert count == 30
 | 
						|
 | 
						|
    assert {25, nil} == migration.up()
 | 
						|
 | 
						|
    count =
 | 
						|
      User
 | 
						|
      |> where(is_confirmed: false)
 | 
						|
      |> Repo.aggregate(:count)
 | 
						|
 | 
						|
    assert count == 5
 | 
						|
  end
 | 
						|
 | 
						|
  test "down/0 does nothing", %{migration: migration} do
 | 
						|
    assert :noop == migration.down()
 | 
						|
  end
 | 
						|
end
 |