Skip to content

db tests sometimes fail when run from repl #21

@zlrth

Description

@zlrth

I can’t figure out how to run tests that use a test database from my cider-repl. lein test works as intended, for what it's worth.

But when I run the the test in the test-db namespace[1], it creates a dev database (./guestbook_dev.db).

This means that if I, from the repl, (start), then add something to the db using the form at localhost:3000, then run the db test, the db test fails[3].

I think this is because the mount/start function is creating an environment using the dev profile.[2] I'd open a pull request for your review, but I don't know enough about mount, profiles.clj, cprop, and possibly other things. I suspect that using the :test profile in project.clj would do it, but I don't know how to tell mount/start to use it.

[1] https://github.com/luminus-framework/guestbook/blob/master/test/clj/guestbook/test/db/core.clj#L18
[2] https://github.com/luminus-framework/guestbook/blob/master/test/clj/guestbook/test/db/core.clj#L13
[3]

guestbook.test.db.core

Tested 1 namespaces
Ran 4 assertions, in 1 test functions
3 failures


Results

guestbook.test.db.core
3 non-passing tests:

Fail in test-message
expected: 1
  actual: (2)

Fail in test-message
expected: {:name "test",
 :message "test",
 :timestamp #inst "2017-08-31T18:29:42.400-00:00"}
  actual: ({:name "name from form",
  :message "this is the message i entered into the form",
  :timestamp #inst "2017-08-31T18:29:26.477000000-00:00"})

Fail in test-message
expected: (empty? (db/get-messages))
  actual: (not
 (empty?
  ({:id 2,
    :name "name from form",
    :message "this is the message i entered into the form",
    :timestamp #inst "2017-08-31T18:29:26.477000000-00:00"})))

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions