Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
L
laravel-mongodb
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
sinan
laravel-mongodb
Commits
7627496f
Commit
7627496f
authored
Dec 27, 2013
by
Jens Segers
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Moving increments tests for #97
parent
be513076
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
52 additions
and
32 deletions
+52
-32
Builder.php
src/Jenssegers/Mongodb/Query/Builder.php
+3
-1
QueryBuilderTest.php
tests/QueryBuilderTest.php
+49
-0
QueryTest.php
tests/QueryTest.php
+0
-31
No files found.
src/Jenssegers/Mongodb/Query/Builder.php
View file @
7627496f
...
...
@@ -396,10 +396,12 @@ class Builder extends \Illuminate\Database\Query\Builder {
$query
=
array
(
'$inc'
=>
array
(
$column
=>
$amount
)
);
if
(
!
empty
(
$extra
))
if
(
!
empty
(
$extra
))
{
$query
[
'$set'
]
=
$extra
;
}
// Protect
$this
->
whereNotNull
(
$column
);
...
...
tests/QueryBuilderTest.php
View file @
7627496f
...
...
@@ -506,4 +506,53 @@ class QueryBuilderTest extends PHPUnit_Framework_TestCase {
$this
->
assertEquals
(
2
,
count
(
$results
));
}
public
function
testIncrement
()
{
DB
::
collection
(
'users'
)
->
insert
(
array
(
array
(
'name'
=>
'John Doe'
,
'age'
=>
30
,
'note'
=>
'adult'
),
array
(
'name'
=>
'Jane Doe'
,
'age'
=>
10
,
'note'
=>
'minor'
),
array
(
'name'
=>
'Robert Roe'
,
'age'
=>
null
),
array
(
'name'
=>
'Mark Moe'
),
));
$user
=
DB
::
collection
(
'users'
)
->
where
(
'name'
,
'John Doe'
)
->
first
();
$this
->
assertEquals
(
30
,
$user
[
'age'
]);
DB
::
collection
(
'users'
)
->
where
(
'name'
,
'John Doe'
)
->
increment
(
'age'
);
$user
=
DB
::
collection
(
'users'
)
->
where
(
'name'
,
'John Doe'
)
->
first
();
$this
->
assertEquals
(
31
,
$user
[
'age'
]);
DB
::
collection
(
'users'
)
->
where
(
'name'
,
'John Doe'
)
->
decrement
(
'age'
);
$user
=
DB
::
collection
(
'users'
)
->
where
(
'name'
,
'John Doe'
)
->
first
();
$this
->
assertEquals
(
30
,
$user
[
'age'
]);
DB
::
collection
(
'users'
)
->
where
(
'name'
,
'John Doe'
)
->
increment
(
'age'
,
5
);
$user
=
DB
::
collection
(
'users'
)
->
where
(
'name'
,
'John Doe'
)
->
first
();
$this
->
assertEquals
(
35
,
$user
[
'age'
]);
DB
::
collection
(
'users'
)
->
where
(
'name'
,
'John Doe'
)
->
decrement
(
'age'
,
5
);
$user
=
DB
::
collection
(
'users'
)
->
where
(
'name'
,
'John Doe'
)
->
first
();
$this
->
assertEquals
(
30
,
$user
[
'age'
]);
DB
::
collection
(
'users'
)
->
where
(
'name'
,
'Jane Doe'
)
->
increment
(
'age'
,
10
,
array
(
'note'
=>
'adult'
));
$user
=
DB
::
collection
(
'users'
)
->
where
(
'name'
,
'Jane Doe'
)
->
first
();
$this
->
assertEquals
(
20
,
$user
[
'age'
]);
$this
->
assertEquals
(
'adult'
,
$user
[
'note'
]);
DB
::
collection
(
'users'
)
->
where
(
'name'
,
'John Doe'
)
->
decrement
(
'age'
,
20
,
array
(
'note'
=>
'minor'
));
$user
=
DB
::
collection
(
'users'
)
->
where
(
'name'
,
'John Doe'
)
->
first
();
$this
->
assertEquals
(
10
,
$user
[
'age'
]);
$this
->
assertEquals
(
'minor'
,
$user
[
'note'
]);
DB
::
collection
(
'users'
)
->
increment
(
'age'
);
$user
=
DB
::
collection
(
'users'
)
->
where
(
'name'
,
'John Doe'
)
->
first
();
$this
->
assertEquals
(
11
,
$user
[
'age'
]);
$user
=
DB
::
collection
(
'users'
)
->
where
(
'name'
,
'Jane Doe'
)
->
first
();
$this
->
assertEquals
(
21
,
$user
[
'age'
]);
$user
=
DB
::
collection
(
'users'
)
->
where
(
'name'
,
'Robert Roe'
)
->
first
();
$this
->
assertEquals
(
null
,
$user
[
'age'
]);
$user
=
DB
::
collection
(
'users'
)
->
where
(
'name'
,
'Mark Moe'
)
->
first
();
$this
->
assertFalse
(
isset
(
$user
[
'age'
]));
}
}
tests/QueryTest.php
View file @
7627496f
...
...
@@ -149,37 +149,6 @@ class QueryTest extends PHPUnit_Framework_TestCase {
$this
->
assertEquals
(
37
,
$user
->
age
);
}
public
function
testIncrements
()
{
User
::
where
(
'name'
,
'John Doe'
)
->
increment
(
'age'
);
User
::
where
(
'name'
,
'John Doe'
)
->
increment
(
'age'
,
2
,
array
(
'title'
=>
'user'
));
$user
=
User
::
where
(
'name'
,
'John Doe'
)
->
first
();
$this
->
assertEquals
(
38
,
$user
->
age
);
$this
->
assertEquals
(
'user'
,
$user
->
title
);
User
::
where
(
'name'
,
'John Doe'
)
->
decrement
(
'age'
);
$num
=
User
::
where
(
'name'
,
'John Doe'
)
->
decrement
(
'age'
,
2
,
array
(
'title'
=>
'admin'
));
$user
=
User
::
where
(
'name'
,
'John Doe'
)
->
first
();
$this
->
assertEquals
(
35
,
$user
->
age
);
$this
->
assertEquals
(
'admin'
,
$user
->
title
);
$this
->
assertEquals
(
1
,
$num
);
User
::
increment
(
'age'
);
User
::
increment
(
'age'
,
2
);
$user
=
User
::
where
(
'name'
,
'Mark Moe'
)
->
first
();
$this
->
assertEquals
(
26
,
$user
->
age
);
User
::
decrement
(
'age'
,
2
);
$num
=
User
::
decrement
(
'age'
);
$user
=
User
::
where
(
'name'
,
'Mark Moe'
)
->
first
();
$this
->
assertEquals
(
23
,
$user
->
age
);
$this
->
assertEquals
(
8
,
$num
);
}
public
function
testGroupBy
()
{
$users
=
User
::
groupBy
(
'title'
)
->
get
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment